5 CONCLUSIONS AND FUTURE
WORK
In order to define visual contracts, we extend the
traditional interpretation of the association and we
integrate diagrams that are usually considered as
separate. We define the concept of set associations
that capture the existence of instances of concepts in
a given context. We use these set associations to
relate information objects (our term for concepts) to
information objects but also actions to information
objects. To represent the pre and the post condition
on a single diagram, we define a new graphical
symbol to express the change of cardinality or state.
Our visual contracts addressed the four issues
raised by the separation of conceptual and
behavioral diagrams for modeling actions. First,
differente descriptions were put along in a single
diagram; our visual contracts include structure, state,
communication & synchronization, action/activity
and constraint information. Secondly, the proprietary
languages of each notation were harmonized with
each other by our semantics. Third, constraints were
illustrated as logic guards for changes in the visual
contracts. Fourth, the diagram themselves can be
used to reason about the system actions.
We also reconcile and integrate the formal
methods that allow us model-checking and
simulating our models. The mapping between the
visual contracts and a model-checkable language as
Alloy is useful to validate the specification model
before a real/complex implementation is done.
Our future work includes testing and improving
the usability of the notation, developing tool support
that translates automatically the visual contract into
the Alloy code, and the integration of this feature
into our CAD tool (Le & Wegmann, 2005), as well
as formalizing the model-checking capability. We
plan also to build a UML to SEAM translation tool.
REFERENCES
De la Cruz, J. D., Wegmann, A., & Regev, G. (2005).
Expressing Systemic Contexts in Visual Models of
System Specifications. In T. Bui & A. Gachet (Eds.),
Proceedings of the Workshop on
Context Modeling and Decision Support, CONTEXT-
05 Workshops (Vol. CEUR 144). Retrieved October
31, 2005, from http://CEUR-WS.org/Vol-
144/04_deLaCruz.pdf
D'Souza, D. F., & Cameron Wills, A. (1998). Objects,
components, and frameworks with UML: The
Catalysis approach (1 ed.): Addison Wesley
Longman, Inc.
Heckel, R., & Sauer, S. (2001). Strengthening UML
Collaboration Diagrams by State Transformations.
Paper presented at the FASE 2001, Genova, Italy.
Helm, R., Holland, I. M., & Gangopadhyay, D. (1990).
Contracts: Specifying Behavioural Compositions in
Object-Oriented Systems. Paper presented at the
OOPSLA/ECOOP 1990, Ottawa, Canada.
Hoare, C. A. R. (1969). An Axiomatic Basis for Computer
Programming. Communications of the ACM (CACM),
12(10), 576-580.
ISO/IEC, & ITU-T. (1998). Recommendation X.901,
X.902, X.903, X.904, "Open Distributed Processing -
Reference Model" (Recommendation): ISO and ITU-
T.
Jackson, D. (2002). Alloy: a lightweight object modelling
notation. ACM Trans. Softw. Eng. Methodol., 11(2),
256-290.
Le, L. S., & Wegmann, A. (2005). Definition of an Object-
Oriented Modeling Language for Enterprise
Architecture. Paper presented at the HICSS'05,
Hawaii, USA.
Lohmann, M., Sauer, S., & Engels, G. (2005). Executable
Visual Contracts. Paper presented at the IEEE
VL/HCC’05, Dallas, Texas, USA.
Meyer, B. (1992, Oct.). Applying "Design by Contract".
IEEE Computer, 25, 40-51.
OMG. (2005). Unified Modeling Language (UML), from
www.omg.org
Rik Eshuis, R. W. (2001). A Real-Time Execution
Semantics for UML Activity Diagrams. Paper
presented at the FASE 2001, Genova, Italy.
Schätz, B., Pretschner, A., Huber, F., & Philipps, J.
(2002). Model-based development of embedded
systems. In J.-M. Bruel & Z. Bellahsene (Eds.),
Advances in Object-Oriented Information Systems,
OOIS 2002 Workshops (Vol. LNCS 2426, pp. 298-
312). Montpellier, France: Springer.
Stevens, P. (2001). On Use Cases and Their Relationships
in the Unified Modelling Language. Paper presented at
the FASE 2001, Genova, Italy.
Varró, D., & Pataricza, A. (2003, Aug.). VPM: A visual,
precise and multilevel metamodeling framework for
describing mathematical domains and UML. Software
and Systems Modeling, 2(3), 187-210.
Wegmann, A., Balabko, P., Le, L.-S., Regev, G., &
Rychkova, I. (2005). A Method and Tool for Business-
IT Alignment in Enterprise Architecture. Paper
presented at the CAiSE'05, Porto, Portugal.
Wirfs-Brock, R., Wilkerson, B., & Wiener, L. (1990).
Designing Object-Oriented Software (1 ed.).
Englewood Cliffs: Prentice Hall.
VISUAL CONTRACTS - A Way to Reason About States and Cardinalities in IT System Specifications
303