Generating OCL specifications and class diagrams from use cases: a Newtonian approach

The universal adoption of UML for object-oriented modeling notwithstanding, a major impediment for UML 1.4 is the lack of seamless integration between the different models and the inadequate support for diagram interchange. In this paper we propose a process generating formal object-oriented specifications in OCL and class diagrams from the use case model of a system through a clearly defined sequence of model transformations. The algebraic invariant of values exchanged in a use case guides the derivation of state machine descriptions for the actors and counter-actors, collectively called agents of the use case. The use case specification is obtained as the composition of the agents' state machines. We present an algorithm for converting a narrative use case specification to a set of OCL expressions and/or class diagrams. The proposed approach fills the gap between the outside behavioral system description as offered by use cases and the "first cut" at software architecture, the analysis level class model.

[1]  Boris Roussev,et al.  The Value Added Invariant : A Newtonian Approach for Generating Class Diagrams from a Use Case Model , 2002 .

[2]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .

[3]  Roel Wieringa,et al.  A survey of structured and object-oriented software specification methods and techniques , 1998, CSUR.

[4]  Leszek A. Maciaszek,et al.  Requirements analysis and system design: developing information systems with UML , 2001 .

[5]  Reiko Heckel,et al.  A methodology for specifying and analyzing consistency of object-oriented behavioral models , 2001, ESEC/FSE-9.

[6]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[7]  Henk Sol,et al.  Proceedings of the 54th Hawaii International Conference on System Sciences , 1997, HICSS 2015.

[8]  C. Petri Kommunikation mit Automaten , 1962 .

[9]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[10]  Rebecca Wirfs-Brock,et al.  Object-oriented design: a responsibility-driven approach , 1989, OOPSLA 1989.

[11]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[12]  Koni Buhrer From Craft to Science : Searching for First Principles of Software Development , 2001 .

[13]  Jos Warmer,et al.  The object constraint language , 1998 .

[14]  Ana Moreira,et al.  Use of E-LOTOS in Adding Formality to UML , 2000, J. Univers. Comput. Sci..

[15]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[16]  Edsger W. Dijkstra,et al.  The end of computing science? , 2001, CACM.

[17]  João Araújo,et al.  Generating Object-Z Specifications from Use Cases , 2000, ICEIS.

[18]  David Lorge Parnas,et al.  Software engineering: an unconsummated marriage , 1997, CACM.

[19]  Ali Bahrami,et al.  Object Oriented Systems Development , 1998 .

[20]  John Mylopoulos,et al.  On the Frame Problem in Procedure Specifications , 1995, IEEE Trans. Software Eng..

[21]  Robert B. France A Problem-Oriented Analysis of Basic UML Static Requirements Modeling Concepts , 1999, OOPSLA.

[22]  Jos Warmer The future of UML Jos Warmer , 2001 .

[23]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[24]  Juhani Iivari,et al.  Object-orientation as structural, functional and behavioural modelling: a comparison of six methods for object-oriented analysis , 1995, Inf. Softw. Technol..

[25]  FranceRobert A problem-oriented analysis of basic UML static requirements modeling concepts , 1999 .

[26]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .