Formal Aspects of Computing · 2007 · 28 citations · 24 references
ComputingComputer ScienceFormal MethodsSoftware EngineeringSystems ModelingModel-driven Software EngineeringSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware ModelingSoftware Process ModelsFormal ModelingSpecification ModelingUml Class ModelingUml ModelingUnified Modeling Language (Uml) Class Diagrams
Abstract We describe how CSP-OZ, a formal method combining the process algebra CSP with the specification language Object-Z, can be integrated into an object-oriented software engineering process employing the UML as a modelling and Java as an implementation language. The benefit of this integration lies in the rigour of the formal method, which improves the precision of the constructed models and opens up the possibility of (1) verifying properties of models in the early design phases, and (2) checking adherence of implementations to models. The envisaged application area of our approach is the design of distributed reactive systems . To this end, we propose a specific UML profile for reactive systems. The profile contains facilities for modelling components, their interfaces and interconnections via synchronous/broadcast communication, and the overall architecture of a system. The integration with the formal method proceeds by generating a significant part of the CSP-OZ specification from the initially developed UML model. The formal specification is on the one hand the starting point for verifying properties of the model, for instance by using the FDR model checker. On the other hand, it is the basis for generating contracts for the final implementation. Contracts are written in the Java Modeling Language (JML) complemented by CSP jassda , an assertion language for specifying orderings between method invocations. A set of tools for runtime checking can be used to supervise the adherence of the final Java implementation to the generated contracts.
24
A Theory of Communicating Sequential Processes
Stephen Brookes, C. A. R. Hoare, A. W. Roscoe · Journal of the ACM · 1984 · 1.2K citations · Full text
Real-time object-oriented modeling
Choice Reviews Online · 1994 · 1K citations
LSCs: Breathing Life into Message Sequence Charts
Werner Damm, David Harel · Formal Methods in System Design · 2001 · 822 citations
Gary T. Leavens, Albert L. Baker, Clyde Ruby · ACM SIGSOFT Software Engineering Notes · 2006 · 787 citations