Compositionality and Refinement in Model-Driven Engineering

Model-driven engineering involves the automatic generation of software artifacts from models of structure and functionality. The use of models as 'source code' has implications for the notions of composition and refinement employed in the modelling language. This paper explores those implications in the context of object-oriented design: establishing a necessary and sufficient condition for a collection of classes to be treated as a component, identifying an appropriate notion of refinement for the generation process, and investigating the applicability of data and process refinement to object models.

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

[2]  Augusto Sampaio,et al.  Unifying classes and processes , 2005, Software & Systems Modeling.

[3]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[4]  John Derrick,et al.  Refinement in Z and Object-Z , 2001 .

[5]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[6]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[7]  Jim Davies,et al.  From Predicates to Programs: The Semantics of a Method Language , 2007, Electron. Notes Theor. Comput. Sci..

[8]  Michael Barnett,et al.  Friends Need a Bit More: Maintaining Invariants Over Shared State , 2004, MPC.

[9]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[10]  Jim Davies,et al.  Domain-specific Semantics and Data Refinement of Object Models , 2008, Electron. Notes Theor. Comput. Sci..

[11]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[12]  Graeme Smith,et al.  Compositional Class Refinement in Object-Z , 2006, FM.

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

[14]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[15]  Graeme Smith,et al.  A fully abstract semantics of classes for Object-Z , 1995, Formal Aspects of Computing.

[16]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[17]  Ralph-Johan Back,et al.  Trace Refinement of Action Systems , 1994, CONCUR.

[18]  Clemens Fischer,et al.  How to Combine Z with Process Algebra , 1998, ZUM.

[19]  Jin Song Dong,et al.  Blending Object-Z and Timed CSP: an introduction to TCOZ , 1998, Proceedings of the 20th International Conference on Software Engineering.

[20]  Beth Stearns,et al.  Applying Enterprise JavaBeans: Component-Based Development for the J2EE Platform , 2003 .

[21]  Kent Beck,et al.  A laboratory for teaching object oriented thinking , 1989, OOPSLA 1989.

[22]  Ivar Jacobson,et al.  Unified Modeling Language Reference Manual, The (2nd Edition) , 2004 .