Correct System Design

Embedding of an object-oriented formal method into an object-oriented software development process. (ForMooS)

[ForMooS Logo]

On this page:

back to the mainpage.

 

go next top of page

1 Description

project management: E.-R. Olderog and H. Wehrheim

project duration: 1. Oct. 2001 to 31. Dez. 2005

financed by: DFG

The aim of this project is to embed an object-oriented Formal Method into the software development process and thus providing the necessary formal precision in the description of software components. The embedding will preserve the advantages of the object-oriented graphical modelling language (UML) and guarantee a continuity till the object-oriented implementation language (Java). The main idea for formalising the functionality of components is an extended concept of Design-by-Contract, a contract between provider and consumer of a component. This concept will be used in all three levels of description: in the graphical modelling language UML, the formal specification method (CSP-OZ) for defining the contracts, and finally the object-oriented implementation in Java for checking the contracts.

scientific staff: H. Rasch, M. Möller

 

go next top of page go back

2 Tools

In the context of this project several tools were developed and/or used for which we provide brief information.

  • Jass - Java with Assertions
    We still support and maintain the tool that has national and international users, although we use the Java Modeling Language (JML) for the assertions at the Java level, now.
  • Jassda - Jass Debugger Architecture
    The tool that Mark Brörkens developed in his master's thesis provides a platform for runtime checking of Java programs. In the context of the project we are maintaining and extending the tool, especially the "trace-checker" that ensures consistency of a program execution with a CSPjassda specification.
  • CSP-OZ for Rational Rose
    In the context of the project we are developing a UML-profile for CSP-OZ, for which support in Rational Rose was implemented.
  • FDR
    The commercial model-checker FDR is used within the ForMooS field especially for the intermediate level (CSP-OZ).

 

go next top of page go back

3 Publications

Here we provide a selection of publications with relevance to the ForMooS project.

[M05]
M. Möller. Mapping formal specifications to java contracts. In Proceedings of the 17th Nordic Workshop on Programming Theory, pages 100-102. University of Copenhagen, Denmark, October 2005.
[ bib | .pdf ]

[MORW04]
M. Möller, E.-R. Olderog, H. Rasch, and H. Wehrheim. Linking CSP-OZ with UML and Java: A Case Study. In E. Boiten, J. Derrick, and G. Smith, editors, Integrated Formal Methods, number 2999 in Lecture Notes in Computer Science, pages 267-286. Springer-Verlag, March 2004.
[ bib | .pdf | Abstract ]

[RW03]
H. Rasch and H. Wehrheim. Checking Consistency in UML Diagrams: Classes and State Machines. In E. Najm, U. Nestmann, and P. Stevens, editors, Formal Methods for Open Object-based Distributed Systems, volume 2884 of LNCS, pages 229-243. Springer, 2003.
[ bib | .ps ]

[RW02]
H. Rasch and H. Wehrheim. Consistency between UML classes and associated state machines. In L. Kuzniarz, G. Reggio, J. L. Sourrouille, and Z. Huzar, editors, UML 2002 - Workshop on Consistency Problems in UML-based Software Development, volume 06, pages 46-60, 2002.
[ bib ]

[BM02]
M. Brörkens and M. Möller. Dynamic Event Generation for Runtime Checking using the JDI. In Klaus Havelund and Grigore Rosu, editors, Proceedings of the Second Workshop on Runtime Verification (RV'02), Copenhagen, Denmark, July 2002, volume 70 of Electronic Notes in Theoretical Computer Science. Elsevier Science, July 2002. This publication is available at ENTCS.
[ bib | .pdf | Abstract ]

[M02]
Michael Möller. Specifying and Checking Java using CSP. In Workshop on Formal Techniques for Java-like Programs - FTfJP'2002. Computing Science Department, University of Nijmegen, June 2002. Technical Report NIII-R0204.
[ bib | .pdf | Abstract ]

[Weh02]
H. Wehrheim. Checking behavioural subtypes via refinement. In B. Jacobs and A. Rensink, editors, FMOODS 2002: Formal Methods for Open Object-Based Distributed Systems, pages 79-93. Kluwer, May 2002.
[ bib | .ps | Abstract ]

[BFMW01]
D. Bartetzko, C. Fischer, M. Möller, and H. Wehrheim. Jass - Java with Assertions. In Klaus Havelund and Grigore Rosu, editors, Proceedings of the First Workshop on Runtime Verification (RV'01), Paris, France, July 2001, volume 55 of Electronic Notes in Theoretical Computer Science. Elsevier Science, 2001. This publication is available at ENTCS.
[ bib | .pdf | Abstract ]

[FOW01]
C. Fischer, E.-R. Olderog, and H. Wehrheim. A CSP view on UML-RT structure diagrams. In H. Husmann, editor, Fundamental Approaches to Software Engineering, volume 2029 of Lecture Notes in Computer Science, pages 91-108. Springer-Verlag, 2001.
[ bib | .ps | Abstract ]

[Weh00]
Heike Wehrheim. Specification of an automatic manufacturing system - a case study in using integrated formal methods. In FASE 2000, Fundamental Approaches to Software Engineering, volume 1783 of LNCS, 2000.
[ bib | .ps | Abstract ]

 top of page go back