State-Based Composition in UML 2

The Composition relationship or "black diamond" in the Unified Modeling Language (UML) is recognized for a long time as a key modeling construct. While prior research works demonstrated that this modeling operator had a dubious semantics, new expectations in the field of Component-Based Software Engineering especially, lead to revisit this operator so that it supports dynamical composition, and more precisely, composition modeling expressions and implementations that safely refer to states of software components. At first, the revision of the UML Composition must rely on well-formalized static dependencies between components as, for instance, the property of lifetime dependency between compound and constituent entities. This papers offers a UML metamodel and some associated logical assertions to strengthen the Composition relationship in UML 2. Despite the presence of new diagram types dedicated to composition (i.e., Composite Structure Diagrams), the UML 2 composition model is not yet sufficiently exhaustive and formal for dealing with all cases of composition, including those relating to agent, component or service computing and modeling.

[1]  Luca Pazzi,et al.  Part-Whole Statecharts for the Explicit Representation of Compound Behaviors , 2000, UML.

[2]  Friedrich Steimann,et al.  On the Key Role of Compositioning Object-Oriented Modelling , 2003, UML.

[3]  Christian Prehofer Plug-and-play composition of features and feature interactions with statechart diagrams , 2003, Software & Systems Modeling.

[4]  Conrad E. Bock UML 2 Composition Model. , 2004 .

[5]  Brian Henderson-Sellers,et al.  Formalization of the Whole-Part Relationship in the Unified Modeling Language , 2003, IEEE Trans. Software Eng..

[6]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[7]  P. Simons Parts: A Study in Ontology , 1991 .

[8]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002, Software and Systems Modeling.

[9]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[10]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[11]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002 .

[12]  Anthony J. H. Simons On the Compositional Properties of UML Statechart Diagrams , 2000, Rigorous Object-Oriented Methods.

[13]  Brian Henderson-Sellers,et al.  Controversies about the black and white diamonds , 2003 .

[14]  Friederike Moltmann Parts and Wholes in Semantics , 1997 .

[15]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[16]  Bertrand Meyer,et al.  Object-oriented software construction (2nd ed.) , 1997 .

[17]  Dentcho N. Batanov,et al.  Customizing Component-Based Software Using Component Coordination Model: A Use-Context Driven Approach Toward Role-Based Model , 2004, Int. J. Softw. Eng. Knowl. Eng..

[18]  Joseph Sifakis,et al.  Composition for component-based modeling , 2002, Sci. Comput. Program..