FOZCIL: A framework for converting formal specifications in Object-Z to design contracts in OO programming languages

FOZCIL (Framework for Object Z Conversion to Implementation Language) captures and implements language-independent features as the fixed part of a framework, and language-dependent properties as the extensible part of a framework. Once the framework has accepted the language-dependent features of a target OO language, it generates a FOZCIL tool instance. The tool instance is capable of accepting Object-Z specifications and of converting those specifications to skeletal code with dynamically-checkable design contracts written in that target language. This provides a significant improvement over existing tools that are custom built to provide automatic conversion from Object-Z only to a specific implementation language. FOZCIL streamlines the process of developing both the reusual language-independent portions and the language dependent portions of such tools.

[1]  David C. Luckham,et al.  An Overview of Anna, a Specification Language for Ada , 1985, IEEE Software.

[2]  Reinhold Plösch,et al.  Evaluation of Assertion Support for the Java Programming Language , 2002, J. Object Technol..

[3]  Cui Zhang,et al.  Support for Design by Contract™ in the C# Programming Language , 2005 .

[4]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[5]  R. Kramer iContract-the Java/sup TM/ design by Contract/sup TM/ tool , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[6]  Cui Zhang,et al.  Object-Z to Java/OO-Perl: A Conversion from Object-Z to Executable Skeletal Code with Dynamically Checkable Design Contracts , 2008, International Conference on Software Engineering and Knowledge Engineering.

[7]  Mary Shaw Alphard: Form and Content , 1981, Springer New York.

[8]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[9]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[10]  Cui Zhang,et al.  Generating Java Skeletal Code with Design Contracts from Specifications in a Subset of Object Z , 2006, 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse (ICIS-COMSAR'06).

[11]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[12]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[13]  Andrew Harry Formal Methods Fact File: VDM and Z , 1996 .

[14]  Juan Llorens Morillo,et al.  Open Issues in Industrial Use Case Modeling , 2004, Journal of Object Technology.

[15]  Wolfgang Pree,et al.  Meta Patterns - A Means For Capturing the Essentials of Reusable Object-Oriented Design , 1994, ECOOP.