Author: Barbara Liskov
Publisher: Addison-Wesley Professional
ISBN:
Category : Computers
Languages : en
Pages : 472
Book Description
Liskov (engineering, Massachusetts Institute of Technology) and Guttag (computer science and engineering, also at MIT) present a component- based methodology for software program development. The book focuses on modular program construction: how to get the modules right and how to organize a program as a collection of modules. It explains the key types of abstractions, demonstrates how to develop specifications that define these abstractions, and illustrates how to implement them using numerous examples. An introduction to key Java concepts is included. Annotation copyrighted by Book News, Inc., Portland, OR.
Program Development in Java
Author: Barbara Liskov
Publisher: Addison-Wesley Professional
ISBN:
Category : Computers
Languages : en
Pages : 472
Book Description
Liskov (engineering, Massachusetts Institute of Technology) and Guttag (computer science and engineering, also at MIT) present a component- based methodology for software program development. The book focuses on modular program construction: how to get the modules right and how to organize a program as a collection of modules. It explains the key types of abstractions, demonstrates how to develop specifications that define these abstractions, and illustrates how to implement them using numerous examples. An introduction to key Java concepts is included. Annotation copyrighted by Book News, Inc., Portland, OR.
Publisher: Addison-Wesley Professional
ISBN:
Category : Computers
Languages : en
Pages : 472
Book Description
Liskov (engineering, Massachusetts Institute of Technology) and Guttag (computer science and engineering, also at MIT) present a component- based methodology for software program development. The book focuses on modular program construction: how to get the modules right and how to organize a program as a collection of modules. It explains the key types of abstractions, demonstrates how to develop specifications that define these abstractions, and illustrates how to implement them using numerous examples. An introduction to key Java concepts is included. Annotation copyrighted by Book News, Inc., Portland, OR.
Rigorous Software Development
Author: José Bacelar Almeida
Publisher: Springer Science & Business Media
ISBN: 0857290185
Category : Computers
Languages : en
Pages : 269
Book Description
The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
Publisher: Springer Science & Business Media
ISBN: 0857290185
Category : Computers
Languages : en
Pages : 269
Book Description
The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
Program Development by Specification and Transformation
Author: Bernd Krieg-Brückner
Publisher: Springer Science & Business Media
ISBN: 9783540567332
Category : Computers
Languages : en
Pages : 650
Book Description
This volume gives a coherent presentation of the outcome of the project PROSPECTRA (PROgram development by SPECification and TRAnsformation) that aims to provide a rigorous methodology for developing correct software and a comprehensive support system. The results are substantial: a theoretically well-founded methodology covering the whole development cycle, a very high-level specification and transformation language family allowing meta-program development and formalization of the development process itself, and a prototype development system supporting structure editing, incremental static-semantic checking, interactive context-sensitivetransformation and verification, development of transformation (meta-) programs, version management, and so on, with an initial libraryof specifications and a sizeable collection of implemented transformations. The intended audience for this documentation is the academic community working in this and related areas and those members of the industrial community interested in the use of formal methods.
Publisher: Springer Science & Business Media
ISBN: 9783540567332
Category : Computers
Languages : en
Pages : 650
Book Description
This volume gives a coherent presentation of the outcome of the project PROSPECTRA (PROgram development by SPECification and TRAnsformation) that aims to provide a rigorous methodology for developing correct software and a comprehensive support system. The results are substantial: a theoretically well-founded methodology covering the whole development cycle, a very high-level specification and transformation language family allowing meta-program development and formalization of the development process itself, and a prototype development system supporting structure editing, incremental static-semantic checking, interactive context-sensitivetransformation and verification, development of transformation (meta-) programs, version management, and so on, with an initial libraryof specifications and a sizeable collection of implemented transformations. The intended audience for this documentation is the academic community working in this and related areas and those members of the industrial community interested in the use of formal methods.
Prevention Program Development and Evaluation
Author: Robert K. Conyne
Publisher: SAGE Publications
ISBN: 1483351475
Category : Social Science
Languages : en
Pages : 233
Book Description
The use of seatbelts, the requirements for smoke detectors, and other kinds of public health interventions have been highly successful in reducing disability, injuries, and premature mortality. Prevention in mental health— identifying and treating mental illnesses before they become full blown syndromes or identifying people at risk for a condition—is just as critical to public mental health. This research-based resource gives practitioners a nuts-and-bolts guide to designing and evaluating prevention programs in mental health that are culturally relevant and aimed at reducing the number of new problems that occur. Key Features Employs a 10-step prevention program development and evaluation model that emphasizes the concepts of community, collaboration, and cultural relevance Offers a brief, practical, how-to approach that is based on rigorous research Identifies specific prevention program development and evaluation steps Highlights examples of "everyday prevention" practices as well as concrete prevention programs that have proven, effective implementation Promotes hands-on learning with practical exercises, instructive figures, and a comprehensive reference list Intended Audience Written in a straightforward and accessible style, Prevention Program Development and Evaluation can be used as a core text in undergraduate courses devoted to prevention or in graduate programs aimed at practice issues. Current practitioners or policymakers interested in designing prevention programs will find this book to be an affable guide.
Publisher: SAGE Publications
ISBN: 1483351475
Category : Social Science
Languages : en
Pages : 233
Book Description
The use of seatbelts, the requirements for smoke detectors, and other kinds of public health interventions have been highly successful in reducing disability, injuries, and premature mortality. Prevention in mental health— identifying and treating mental illnesses before they become full blown syndromes or identifying people at risk for a condition—is just as critical to public mental health. This research-based resource gives practitioners a nuts-and-bolts guide to designing and evaluating prevention programs in mental health that are culturally relevant and aimed at reducing the number of new problems that occur. Key Features Employs a 10-step prevention program development and evaluation model that emphasizes the concepts of community, collaboration, and cultural relevance Offers a brief, practical, how-to approach that is based on rigorous research Identifies specific prevention program development and evaluation steps Highlights examples of "everyday prevention" practices as well as concrete prevention programs that have proven, effective implementation Promotes hands-on learning with practical exercises, instructive figures, and a comprehensive reference list Intended Audience Written in a straightforward and accessible style, Prevention Program Development and Evaluation can be used as a core text in undergraduate courses devoted to prevention or in graduate programs aimed at practice issues. Current practitioners or policymakers interested in designing prevention programs will find this book to be an affable guide.
Program Development in Java
Author: Barbara Liskov
Publisher: Pearson Education
ISBN: 076868496X
Category : Computers
Languages : en
Pages : 467
Book Description
Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.
Publisher: Pearson Education
ISBN: 076868496X
Category : Computers
Languages : en
Pages : 467
Book Description
Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify. Its emphasis is on modular program construction: how to get the modules right and how to organize a program as a collection of modules. The book presents a methodology effective for either an individual programmer, who may be writing a small program or a single module in a larger one; or a software engineer, who may be part of a team developing a complex program comprised of many modules. Both audiences will acquire a solid foundation for object-oriented program design and component-based software development from this methodology. Because each module in a program corresponds to an abstraction, such as a collection of documents or a routine to search the collection for documents of interest, the book first explains the kinds of abstractions most useful to programmers: procedures; iteration abstractions; and, most critically, data abstractions. Indeed, the author treats data abstraction as the central paradigm in object-oriented program design and implementation. The author also shows, with numerous examples, how to develop informal specifications that define these abstractions--specifications that describe what the modules do--and then discusses how to implement the modules so that they do what they are supposed to do with acceptable performance. Other topics discussed include: Encapsulation and the need for an implementation to provide the behavior defined by the specification Tradeoffs between simplicity and performance Techniques to help readers of code understand and reason about it, focusing on such properties as rep invariants and abstraction functions Type hierarchy and its use in defining families of related data abstractions Debugging, testing, and requirements analysis Program design as a top-down, iterative process, and design patterns The Java programming language is used for the book's examples. However, the techniques presented are language independent, and an introduction to key Java concepts is included for programmers who may not be familiar with the language.
Program Development in Computational Logic
Author: Maurice Bruynooghe
Publisher: Springer
ISBN: 3540259511
Category : Computers
Languages : en
Pages : 546
Book Description
1 The tenth anniversary of the LOPSTR symposium provided the incentive for this volume. LOPSTR started in 1991 as a workshop on logic program synthesis and transformation, but later it broadened its scope to logic-based program development in general, that is, program development in computational logic, and hence the title of this volume. The motivating force behind LOPSTR has been the belief that declarative paradigms such as logic programming are better suited to program development tasks than traditional non-declarative ones such as the imperative paradigm. Speci?cation, synthesis, transformation or specialization, analysis, debugging and veri?cation can all be given logical foundations, thus providing a unifying framework for the whole development process. In the past 10 years or so, such a theoretical framework has indeed begun to emerge. Even tools have been implemented for analysis, veri?cation and speci- ization. However,itisfairtosaythatsofarthefocushaslargelybeenonprogrammi- in-the-small. So the future challenge is to apply or extend these techniques to programming-in-the-large, in order to tackle software engineering in the real world. Returning to this volume, our aim is to present a collection of papers that re?ect signi?cant research e?orts over the past 10 years. These papers cover the wholedevelopmentprocess:speci?cation,synthesis,analysis,transformationand specialization, as well as semantics and systems.
Publisher: Springer
ISBN: 3540259511
Category : Computers
Languages : en
Pages : 546
Book Description
1 The tenth anniversary of the LOPSTR symposium provided the incentive for this volume. LOPSTR started in 1991 as a workshop on logic program synthesis and transformation, but later it broadened its scope to logic-based program development in general, that is, program development in computational logic, and hence the title of this volume. The motivating force behind LOPSTR has been the belief that declarative paradigms such as logic programming are better suited to program development tasks than traditional non-declarative ones such as the imperative paradigm. Speci?cation, synthesis, transformation or specialization, analysis, debugging and veri?cation can all be given logical foundations, thus providing a unifying framework for the whole development process. In the past 10 years or so, such a theoretical framework has indeed begun to emerge. Even tools have been implemented for analysis, veri?cation and speci- ization. However,itisfairtosaythatsofarthefocushaslargelybeenonprogrammi- in-the-small. So the future challenge is to apply or extend these techniques to programming-in-the-large, in order to tackle software engineering in the real world. Returning to this volume, our aim is to present a collection of papers that re?ect signi?cant research e?orts over the past 10 years. These papers cover the wholedevelopmentprocess:speci?cation,synthesis,analysis,transformationand specialization, as well as semantics and systems.
Mathematical Methods in Program Development
Author: Manfred Broy
Publisher: Springer Science & Business Media
ISBN: 3642608582
Category : Computers
Languages : en
Pages : 538
Book Description
Modern information processing systems show such complex properties as distribution, parallelism, interaction, time dependency, and nondeterminism. For critical applications, mathematical methods are needed to model the systems and to support their development and validation. Impressive progress in mathematical methods for programming software systems makes it possible to think about unifying the different approaches. This book gives a comprehensive overview of existing methods and presents some of the most recent results in applying them. The main topics are: advanced programming techniques, foundations of systems engineering, mathematical support methods, and application of the methods. The approaches presented are illustrated by examples and related to other approaches.
Publisher: Springer Science & Business Media
ISBN: 3642608582
Category : Computers
Languages : en
Pages : 538
Book Description
Modern information processing systems show such complex properties as distribution, parallelism, interaction, time dependency, and nondeterminism. For critical applications, mathematical methods are needed to model the systems and to support their development and validation. Impressive progress in mathematical methods for programming software systems makes it possible to think about unifying the different approaches. This book gives a comprehensive overview of existing methods and presents some of the most recent results in applying them. The main topics are: advanced programming techniques, foundations of systems engineering, mathematical support methods, and application of the methods. The approaches presented are illustrated by examples and related to other approaches.
Facilitating Community Change
Author: Donald R. Fessler
Publisher: University Associates Incorporated
ISBN:
Category : Business & Economics
Languages : en
Pages : 164
Book Description
Publisher: University Associates Incorporated
ISBN:
Category : Business & Economics
Languages : en
Pages : 164
Book Description
Prevention Program Development and Evaluation
Author: Robert K. Conyne
Publisher: SAGE Publications
ISBN: 1506319351
Category : Social Science
Languages : en
Pages : 233
Book Description
The use of seatbelts, the requirements for smoke detectors, and other kinds of public health interventions have been highly successful in reducing disability, injuries, and premature mortality. Prevention in mental health— identifying and treating mental illnesses before they become full blown syndromes or identifying people at risk for a condition—is just as critical to public mental health. This research-based resource gives practitioners a nuts-and-bolts guide to designing and evaluating prevention programs in mental health that are culturally relevant and aimed at reducing the number of new problems that occur. Key Features Employs a 10-step prevention program development and evaluation model that emphasizes the concepts of community, collaboration, and cultural relevance Offers a brief, practical, how-to approach that is based on rigorous research Identifies specific prevention program development and evaluation steps Highlights examples of "everyday prevention" practices as well as concrete prevention programs that have proven, effective implementation Promotes hands-on learning with practical exercises, instructive figures, and a comprehensive reference list Intended Audience Written in a straightforward and accessible style, Prevention Program Development and Evaluation can be used as a core text in undergraduate courses devoted to prevention or in graduate programs aimed at practice issues. Current practitioners or policymakers interested in designing prevention programs will find this book to be an affable guide.
Publisher: SAGE Publications
ISBN: 1506319351
Category : Social Science
Languages : en
Pages : 233
Book Description
The use of seatbelts, the requirements for smoke detectors, and other kinds of public health interventions have been highly successful in reducing disability, injuries, and premature mortality. Prevention in mental health— identifying and treating mental illnesses before they become full blown syndromes or identifying people at risk for a condition—is just as critical to public mental health. This research-based resource gives practitioners a nuts-and-bolts guide to designing and evaluating prevention programs in mental health that are culturally relevant and aimed at reducing the number of new problems that occur. Key Features Employs a 10-step prevention program development and evaluation model that emphasizes the concepts of community, collaboration, and cultural relevance Offers a brief, practical, how-to approach that is based on rigorous research Identifies specific prevention program development and evaluation steps Highlights examples of "everyday prevention" practices as well as concrete prevention programs that have proven, effective implementation Promotes hands-on learning with practical exercises, instructive figures, and a comprehensive reference list Intended Audience Written in a straightforward and accessible style, Prevention Program Development and Evaluation can be used as a core text in undergraduate courses devoted to prevention or in graduate programs aimed at practice issues. Current practitioners or policymakers interested in designing prevention programs will find this book to be an affable guide.