Largeandcomplexsoftwaresystemsprovidethenecessaryinfrastuctureinall- dustries today. In order to construct such large systems in a systematic manner, the focus in the development methodologies has switched in the last two decades from functional issues to structural issues: both data and functions are enc- sulated into software units that are integrated into large systems by means of various techniques supporting reusability and modi?ability. This encapsulation principleisessentialtoboththeobject-orientedandthemorerecentcompone- based sofware engineering paradigms. Formalmethodshavebeenappliedsuccessfullytotheveri?cationofmedi- sized programs in protocol and hardware design. However, their application to large systems requires the further development of speci?cation and veri?cation techniques supporting the concepts of reusability and modi?ability. In order to bring together researchers and practioners in the areas of so- ware engineering and formal methods, we organized the 1st International S- posium on Formal Methods for Components and Objects (FMCO) in Leiden, The Netherlands, November 5–8, 2002. The program consisted of invited tu- rials and more technical presentations given by leading experts in the ?elds of Theoretical Computer Science and Software Engineering. The symposium was attended by more than 100 people. This volume contains the contributions of the invited speakers to FMCO 2002. We believe that the presented material provides a unique combination of ideas on software engineering and formal methods which we hope will be an inspiration for those aiming at further bridging the gap between the theory and practice of software engineering.
Author(s): Erika Ábrahám, Frank S. de Boer (auth.), Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, Willem-Paul de Roever (eds.)
Series: Lecture Notes in Computer Science 2852
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 2003
Language: English
Commentary: Correct bookmarks, cover, pagination
Pages: 512
Tags: Software Engineering; Programming Languages, Compilers, Interpreters; Operating Systems; Logics and Meanings of Programs
Front Matter....Pages -
A Tool-Supported Proof System for Multithreaded Java....Pages 1-32
Abstract Behavior Types: A Foundation Model for Components and Their Composition....Pages 33-70
Understanding UML: A Formal Semantics of Concurrency and Communication in Real-Time UML....Pages 71-98
Live and Let Die: LSC-Based Verification of UML-Models....Pages 99-135
Reactive Animation....Pages 136-153
Model-Checking Middleware-Based Event-Driven Real-Time Embedded Software....Pages 154-181
Equivalent Semantic Models for a Distributed Dataspace Architecture....Pages 182-201
Java Program Verification Challenges....Pages 202-219
ToolBus: The Next Generation....Pages 220-241
High-Level Specifications: Lessons from Industry....Pages 242-261
How the Design of JML Accommodates Both Runtime Assertion Checking and Formal Verification....Pages 262-284
Finding Implicit Contracts in .NET Components....Pages 285-318
From Co-algebraic Specifications to Implementation: The Mihda Toolkit....Pages 319-338
A Calculus for Modeling Software Components....Pages 339-360
Specification and Inheritance in CSP-OZ....Pages 361-379
Model-Based Testing of Object-Oriented Systems....Pages 380-402
Concurrent Object-Oriented Programs: From Specification to Code....Pages 403-423
Design with Asynchronously Communicating Components....Pages 424-442
Composition for Component-Based Modeling....Pages 443-466
Games for UML Software Design....Pages 467-486
Making Components Move: A Separation of Concerns Approach....Pages 487-507
Back Matter....Pages -