Author: Dines Bjørner
Publisher: Springer Science & Business Media
ISBN: 3540741070
Category : Mathematics
Languages : en
Pages : 624
Book Description
This book presents comprehensive studies on nine specification languages and their logics of reasoning. The editors and authors are authorities on these specification languages and their application. In a unique feature, the book closes with short commentaries on the specification languages written by researchers closely associated with their original development. The book contains extensive references and pointers to future developments.
Logics of Specification Languages
Author: Dines Bjørner
Publisher: Springer Science & Business Media
ISBN: 3540741070
Category : Mathematics
Languages : en
Pages : 624
Book Description
This book presents comprehensive studies on nine specification languages and their logics of reasoning. The editors and authors are authorities on these specification languages and their application. In a unique feature, the book closes with short commentaries on the specification languages written by researchers closely associated with their original development. The book contains extensive references and pointers to future developments.
Publisher: Springer Science & Business Media
ISBN: 3540741070
Category : Mathematics
Languages : en
Pages : 624
Book Description
This book presents comprehensive studies on nine specification languages and their logics of reasoning. The editors and authors are authorities on these specification languages and their application. In a unique feature, the book closes with short commentaries on the specification languages written by researchers closely associated with their original development. The book contains extensive references and pointers to future developments.
Larch: Languages and Tools for Formal Specification
Author: John V. Guttag
Publisher: Springer Science & Business Media
ISBN: 1461227046
Category : Mathematics
Languages : en
Pages : 266
Book Description
Building software often seems harder than it ought to be. It takes longer than expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easy to maintain. It does not have to be that way. This book is about programming, and the role that formal specifications can play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basic graduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that the reader has formal training in mathematics or computer science. We have, however, presumed some programming experience. The roles of fonnal specifications Designing software is largely a matter of combining, inventing, and planning the implementation of abstractions. The goal of design is to describe a set of modules that interact with one another in simple, well defined ways. If this is achieved, people will be able to work independently on different modules, and yet the modules will fit together to accomplish the larger purpose. In addition, during program maintenance it will be possible to modify a module without affecting many others. Abstractions are intangible. But they must somehow be captured and communicated. That is what specifications are for. Specification gives us a way to say what an abstraction is, independent of any of its implementations.
Publisher: Springer Science & Business Media
ISBN: 1461227046
Category : Mathematics
Languages : en
Pages : 266
Book Description
Building software often seems harder than it ought to be. It takes longer than expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easy to maintain. It does not have to be that way. This book is about programming, and the role that formal specifications can play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basic graduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that the reader has formal training in mathematics or computer science. We have, however, presumed some programming experience. The roles of fonnal specifications Designing software is largely a matter of combining, inventing, and planning the implementation of abstractions. The goal of design is to describe a set of modules that interact with one another in simple, well defined ways. If this is achieved, people will be able to work independently on different modules, and yet the modules will fit together to accomplish the larger purpose. In addition, during program maintenance it will be possible to modify a module without affecting many others. Abstractions are intangible. But they must somehow be captured and communicated. That is what specifications are for. Specification gives us a way to say what an abstraction is, independent of any of its implementations.
Algol-like Languages
Author: Peter O'Hearn
Publisher: Springer Science & Business Media
ISBN: 147573851X
Category : Computers
Languages : en
Pages : 345
Book Description
To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc turing in compiler texts that are intended to cover a wide variety of program ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.
Publisher: Springer Science & Business Media
ISBN: 147573851X
Category : Computers
Languages : en
Pages : 345
Book Description
To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc turing in compiler texts that are intended to cover a wide variety of program ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.
Programming Language Implementation and Logic Programming
Author: Jan Małuszyński
Publisher: Springer Science & Business Media
ISBN: 9783540544449
Category : Computers
Languages : en
Pages : 452
Book Description
This volume contains the papers which have been accepted for presentation atthe Third International Symposium on Programming Language Implementation andLogic Programming (PLILP '91) held in Passau, Germany, August 26-28, 1991. The aim of the symposium was to explore new declarative concepts, methods and techniques relevant for the implementation of all kinds of programming languages, whether algorithmic or declarative ones. The intention was to gather researchers from the fields of algorithmic programming languages as well as logic, functional and object-oriented programming. This volume contains the two invited talks given at the symposium by H. Ait-Kaci and D.B. MacQueen, 32 selected papers, and abstracts of several system demonstrations. The proceedings of PLILP '88 and PLILP '90 are available as Lecture Notes in Computer Science Volumes 348 and 456.
Publisher: Springer Science & Business Media
ISBN: 9783540544449
Category : Computers
Languages : en
Pages : 452
Book Description
This volume contains the papers which have been accepted for presentation atthe Third International Symposium on Programming Language Implementation andLogic Programming (PLILP '91) held in Passau, Germany, August 26-28, 1991. The aim of the symposium was to explore new declarative concepts, methods and techniques relevant for the implementation of all kinds of programming languages, whether algorithmic or declarative ones. The intention was to gather researchers from the fields of algorithmic programming languages as well as logic, functional and object-oriented programming. This volume contains the two invited talks given at the symposium by H. Ait-Kaci and D.B. MacQueen, 32 selected papers, and abstracts of several system demonstrations. The proceedings of PLILP '88 and PLILP '90 are available as Lecture Notes in Computer Science Volumes 348 and 456.
Logic Program Synthesis from Incomplete Information
Author: Pierre Flener
Publisher: Springer Science & Business Media
ISBN: 1461522056
Category : Computers
Languages : en
Pages : 258
Book Description
Program synthesis is a solution to the software crisis. If we had a program that develops correct programs from specifications, then program validation and maintenance would disappear from the software life-cycle, and one could focus on the more creative tasks of specification elaboration, validation, and maintenance, because replay of program development would be less costly. This monograph describes a novel approach to Inductive Logic Programming (ILP), which cross-fertilizes logic programming and machine learning. Aiming at the synthesis of recursive logic programs only, and this from incomplete information, we take a software engineering approach that is more appropriate than a pure artificial intelligence approach. This book is suitable as a secondary text for graduate level courses in software engineering and artificial intelligence, and as a reference for practitioners of program synthesis.
Publisher: Springer Science & Business Media
ISBN: 1461522056
Category : Computers
Languages : en
Pages : 258
Book Description
Program synthesis is a solution to the software crisis. If we had a program that develops correct programs from specifications, then program validation and maintenance would disappear from the software life-cycle, and one could focus on the more creative tasks of specification elaboration, validation, and maintenance, because replay of program development would be less costly. This monograph describes a novel approach to Inductive Logic Programming (ILP), which cross-fertilizes logic programming and machine learning. Aiming at the synthesis of recursive logic programs only, and this from incomplete information, we take a software engineering approach that is more appropriate than a pure artificial intelligence approach. This book is suitable as a secondary text for graduate level courses in software engineering and artificial intelligence, and as a reference for practitioners of program synthesis.
An Introduction to MultiAgent Systems
Author: Michael Wooldridge
Publisher: John Wiley & Sons
ISBN: 0470519460
Category : Computers
Languages : en
Pages : 484
Book Description
The study of multi-agent systems (MAS) focuses on systems in which many intelligent agents interact with each other. These agents are considered to be autonomous entities such as software programs or robots. Their interactions can either be cooperative (for example as in an ant colony) or selfish (as in a free market economy). This book assumes only basic knowledge of algorithms and discrete maths, both of which are taught as standard in the first or second year of computer science degree programmes. A basic knowledge of artificial intelligence would useful to help understand some of the issues, but is not essential. The book’s main aims are: To introduce the student to the concept of agents and multi-agent systems, and the main applications for which they are appropriate To introduce the main issues surrounding the design of intelligent agents To introduce the main issues surrounding the design of a multi-agent society To introduce a number of typical applications for agent technology After reading the book the student should understand: The notion of an agent, how agents are distinct from other software paradigms (e.g. objects) and the characteristics of applications that lend themselves to agent-oriented software The key issues associated with constructing agents capable of intelligent autonomous action and the main approaches taken to developing such agents The key issues in designing societies of agents that can effectively cooperate in order to solve problems, including an understanding of the key types of multi-agent interactions possible in such systems The main application areas of agent-based systems
Publisher: John Wiley & Sons
ISBN: 0470519460
Category : Computers
Languages : en
Pages : 484
Book Description
The study of multi-agent systems (MAS) focuses on systems in which many intelligent agents interact with each other. These agents are considered to be autonomous entities such as software programs or robots. Their interactions can either be cooperative (for example as in an ant colony) or selfish (as in a free market economy). This book assumes only basic knowledge of algorithms and discrete maths, both of which are taught as standard in the first or second year of computer science degree programmes. A basic knowledge of artificial intelligence would useful to help understand some of the issues, but is not essential. The book’s main aims are: To introduce the student to the concept of agents and multi-agent systems, and the main applications for which they are appropriate To introduce the main issues surrounding the design of intelligent agents To introduce the main issues surrounding the design of a multi-agent society To introduce a number of typical applications for agent technology After reading the book the student should understand: The notion of an agent, how agents are distinct from other software paradigms (e.g. objects) and the characteristics of applications that lend themselves to agent-oriented software The key issues associated with constructing agents capable of intelligent autonomous action and the main approaches taken to developing such agents The key issues in designing societies of agents that can effectively cooperate in order to solve problems, including an understanding of the key types of multi-agent interactions possible in such systems The main application areas of agent-based systems
Logic-Based Program Synthesis and Transformation
Author: Pierre Flener
Publisher: Springer
ISBN: 3540489584
Category : Computers
Languages : en
Pages : 341
Book Description
This book presents the thoroughly refereed post-workshop proceedings of the 8th International Workshop on Logic-Based Program Synthesis and Transformation, LOPSTR'98 held in Manchester, UK in June 1998. The 16 revised full papers presented were carefully reviewed and selected during three rounds of inspection from a total of initially 36 extended abstracts submitted. Also included are eight short papers. Among the topics covered are logic specification, mathematical program construction, logic programming, computational logics, inductive program synthesis, constraint logic programs, and mathematical foundations.
Publisher: Springer
ISBN: 3540489584
Category : Computers
Languages : en
Pages : 341
Book Description
This book presents the thoroughly refereed post-workshop proceedings of the 8th International Workshop on Logic-Based Program Synthesis and Transformation, LOPSTR'98 held in Manchester, UK in June 1998. The 16 revised full papers presented were carefully reviewed and selected during three rounds of inspection from a total of initially 36 extended abstracts submitted. Also included are eight short papers. Among the topics covered are logic specification, mathematical program construction, logic programming, computational logics, inductive program synthesis, constraint logic programs, and mathematical foundations.
Perspectives of Systems Informatics
Author: Amir Pnueli
Publisher: Springer
ISBN: 3642114865
Category : Computers
Languages : en
Pages : 437
Book Description
This volume contains the ?nal proceedings of the 7th International Andrei Ershov Memorial Conference on Perspectives of System Informatics Akad- gorodok (Novosibirsk, Russia), June 15–19, 2009. PSI is a forum for academic and industrial researchers, developers and users working on topics relating to computer, software and information sciences. The conference serves to bridge the gaps between di?erent communities whose - searchareasarecoveredbybutnotlimitedtofoundationsofprogramandsystem development and analysis, programming methodology and softwareengineering, and information technologies. PSI 2009 was dedicated to the memory of a prominent scientist, academician Andrei Ershov (1931–1988),and to a signi?cant date in the history of computer science in the country, namely, the 50th anniversary of the Programming - partment founded by Andrei Ershov. Initially, the department was a part of the Institute of Mathematics and later, in 1964, it joined the newly established Computing Center of the Siberian Branch of the USSR Academy of Sciences. Andrei Ershov, who was responsible for forming the department, gathered a team of young graduates from leading Soviet universities. The ?rst signi?cant project of the department was aimed at the development of ALPHA system, an optimizing compiler for an extension of Algol 60 implemented on a Soviet c- puterM-20. Later,theresearchersofthedepartmentcreatedtheAlgibr,Epsilon, Sigma, and Alpha-6 programming systems for the BESM-6 computers. The list of their achievements also includes the ?rst Soviet time-sharing system AIST-0, the multi-language system BETA, research projects in arti?cial intelligence and parallel programming, integrated tools for text processing and publishing, and many others.
Publisher: Springer
ISBN: 3642114865
Category : Computers
Languages : en
Pages : 437
Book Description
This volume contains the ?nal proceedings of the 7th International Andrei Ershov Memorial Conference on Perspectives of System Informatics Akad- gorodok (Novosibirsk, Russia), June 15–19, 2009. PSI is a forum for academic and industrial researchers, developers and users working on topics relating to computer, software and information sciences. The conference serves to bridge the gaps between di?erent communities whose - searchareasarecoveredbybutnotlimitedtofoundationsofprogramandsystem development and analysis, programming methodology and softwareengineering, and information technologies. PSI 2009 was dedicated to the memory of a prominent scientist, academician Andrei Ershov (1931–1988),and to a signi?cant date in the history of computer science in the country, namely, the 50th anniversary of the Programming - partment founded by Andrei Ershov. Initially, the department was a part of the Institute of Mathematics and later, in 1964, it joined the newly established Computing Center of the Siberian Branch of the USSR Academy of Sciences. Andrei Ershov, who was responsible for forming the department, gathered a team of young graduates from leading Soviet universities. The ?rst signi?cant project of the department was aimed at the development of ALPHA system, an optimizing compiler for an extension of Algol 60 implemented on a Soviet c- puterM-20. Later,theresearchersofthedepartmentcreatedtheAlgibr,Epsilon, Sigma, and Alpha-6 programming systems for the BESM-6 computers. The list of their achievements also includes the ?rst Soviet time-sharing system AIST-0, the multi-language system BETA, research projects in arti?cial intelligence and parallel programming, integrated tools for text processing and publishing, and many others.
Semantics of Specification Languages (SoSL)
Author: Derek J. Andrews
Publisher: Springer Science & Business Media
ISBN: 1447132297
Category : Computers
Languages : en
Pages : 367
Book Description
SoSL was the first International Workshop on Semantics of Specification Languages, held from 25-27 October 1993 in Utrecht, the Netherlands. The workshop was organized by the Department of Philosophy of Utrecht University with financial support from the Nationale Faciliteit Informatica of the Nederlandse Organisatie voor Wetenschappelijk Onderzoek (NWO), and under the auspices of the British Computer Society'S specialist group in Formal Aspects of Computing Science (BCS FACS). The concern of the workshop was the semantics of specification languages, and the issues closely related to this area, such as type checking and the justification of proof rules and proof obligations. Its aim was the exchange of problems and ideas in this field of formal methods, and the identification of common programs of work for further investigation. The program of SoSL consisted of 3 invited lectures presenting the developments of the semantics of 3 major specification languages. Furthermore, there were 16 presentations of submitted papers. This volume provides a direct account of the workshop. It contains 3 papers that match the invited lectures and the 16 selected papers. The editors want to thank all those who have contributed to the workshop; the Program Committee and the referees for selecting the contributed papers, the invited speakers for their interesting talks, the Organizing Committee for all their efforts, and of course the participants. We have the feeling that the workshop was worthwhile and should be repeated.
Publisher: Springer Science & Business Media
ISBN: 1447132297
Category : Computers
Languages : en
Pages : 367
Book Description
SoSL was the first International Workshop on Semantics of Specification Languages, held from 25-27 October 1993 in Utrecht, the Netherlands. The workshop was organized by the Department of Philosophy of Utrecht University with financial support from the Nationale Faciliteit Informatica of the Nederlandse Organisatie voor Wetenschappelijk Onderzoek (NWO), and under the auspices of the British Computer Society'S specialist group in Formal Aspects of Computing Science (BCS FACS). The concern of the workshop was the semantics of specification languages, and the issues closely related to this area, such as type checking and the justification of proof rules and proof obligations. Its aim was the exchange of problems and ideas in this field of formal methods, and the identification of common programs of work for further investigation. The program of SoSL consisted of 3 invited lectures presenting the developments of the semantics of 3 major specification languages. Furthermore, there were 16 presentations of submitted papers. This volume provides a direct account of the workshop. It contains 3 papers that match the invited lectures and the 16 selected papers. The editors want to thank all those who have contributed to the workshop; the Program Committee and the referees for selecting the contributed papers, the invited speakers for their interesting talks, the Organizing Committee for all their efforts, and of course the participants. We have the feeling that the workshop was worthwhile and should be repeated.
Software Abstractions
Author: Daniel Jackson
Publisher: MIT Press
ISBN: 0262017156
Category : Computers
Languages : en
Pages : 373
Book Description
An approach to software design that introduces a fully automated analysis giving designers immediate feedback, now featuring the latest version of the Alloy language. In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach—which Jackson calls “lightweight formal methods” or “agile modeling”—takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. This revised edition updates the text, examples, and appendixes to be fully compatible with Alloy 4.
Publisher: MIT Press
ISBN: 0262017156
Category : Computers
Languages : en
Pages : 373
Book Description
An approach to software design that introduces a fully automated analysis giving designers immediate feedback, now featuring the latest version of the Alloy language. In Software Abstractions Daniel Jackson introduces an approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach—which Jackson calls “lightweight formal methods” or “agile modeling”—takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. This revised edition updates the text, examples, and appendixes to be fully compatible with Alloy 4.