Abstract
One popular approach to object design proposes to identify responsibilities from software contracts, apply a number of principles to assign them to objects, and finally construct an object interaction that realizes the contract. This three-step activity is currently a manual process that is time-consuming and error-prone, and is among the most challenging activities in object-oriented development. In this paper, we present a model transformation that partially automates this activity. Such a transformation is modularized in three stages. The first stage automatically transforms a software contract to a trace of state modification actions. In the second stage the designer manually extends the trace with design decisions. Finally, the extended trace is automatically transformed to an object interaction in the third stage. A prototype of the whole transformation was developed and successfully applied to a case study from the literature. Our technique allows the extraction of valuable information from software contracts, provides a bridge between analysis and design artifacts, and significantly reduces the effort of interaction design.
The work of A. Vignaga and D. Perovich was partially funded by CONICYT Chile.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Akehurst, D.H., Kent, S., Patrascoiu, O.: A Relational Approach to Defining and Implementing Transformations between Metamodels. Software and System Modeling 2(4), 215–239 (2003)
Alanen, M., Lundkvist, T., Porres, I.: Creating and Reconciling Diagrams after Executing Model Transformations. Science of Computer Programming 68(3), 155–178 (2007)
Cabot, J., Gómez, C.: Deriving Operation Contracts from UML Class Diagrams. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 196–210. Springer, Heidelberg (2007)
Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the Specification of Model Transformation Contracts. In: OCL and Model-Driven Engineering UML 2004 Workshop, Lisbon, Portugal (2004)
Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object-Oriented Development: The Fusion Method. Prentice-Hall, Inc., Upper Saddle River (1994)
Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–645 (2006)
France, R., Rumpe, B.: Model-driven Development of Complex Software: A Research Roadmap. In: FOSE 2007: Future of Software Engineering 2007, pp. 37–54. IEEE Computer Society, Los Alamitos (2007)
O. M. G. Inc. Meta Object Facility (MOF) 2.0. Query/View/Transformation Specification. OMG Document ptc/05-11-01 (November 2005)
O. M. G. Inc. UML Superstructure, v2.1.1. OMG Document formal/07-02-05 (February 2007)
Kaldewaij, A.: Programming: The Derivation of Algorithms. Prentice-Hall International Series in Computer Science (1990)
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall, Englewood Cliffs (2004)
Lawley, M., Raymond, K.: Implementing a Practical Declarative Logic-based Model Transformation Engine. In: SAC 2007, pp. 971–977 (2007)
Lohmann, M., Sauer, S., Engels, G.: Executable Visual Contracts. In: 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2005), Dallas, TX, USA, pp. 63–70. IEEE Computer Society, Los Alamitos (2005)
Meyer, B.: Object-Oriented Software Construction. 2 edn. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1997)
Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)
Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual, 2nd edn. Pearson Higher Education (2004)
Selonen, P., Systä, T., Koskimies, K.: Generating Structured Implementation Schemes from UML Sequence Diagrams. In: TOOLS 2001, pp. 317–330 (2001)
Simons, A.J.H., Snoeck, M., Hung, K.S.Y.: Using Design Patterns to Reveal the Competence of Object-Oriented Methods in System-Level Design. International Journal of Computer Systems Science and Engineering 14(6), 343–352 (1999)
Stevens, P.: Bidirectional Model Transformations in QVT: Semantic Issues and Open Questions. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 1–15. Springer, Heidelberg (2007)
Uchitel, S., Brunet, G., Chechik, M.: Behaviour model synthesis from properties and scenarios. In: ICSE 2007, pp. 34–43. IEEE Computer Society, Los Alamitos (2007)
Vignaga, A.: A Case Study in Formal Reasoning about the Use of State Modification Primitives. Technical Report 04-09, InCo/Pedeciba (2004)
Vignaga, A.: A Formal Semantics of State Modification Primitives of Object-Oriented Systems. Master’s thesis, Pedeciba and Universidad de la República, Uruguay (February 2004)
Vignaga, A., Bastarrica, M.C.: Transforming System Operations’ Interactions into a Design Class Diagram. In: SAC 2007, pp. 993–997 (2007)
Vignaga, A., Perovich, D., Bastarrica, M.C.: On Extracting a Design out of Software Contracts. Technical Report TR/DCC-2007-1, DCC, Universidad de Chile (2007)
Wahono, R.S., Far, B.H.: A Framework for Object Identification and Refinement Process in Object-Oriented Analysis and Design. In: IEEE ICCI, pp. 351–360. IEEE Computer Society, Los Alamitos (2002)
Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities, and Collaborations. Pearson Education (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vignaga, A., Perovich, D., Bastarrica, M.C. (2008). Extracting Object Interactions Out of Software Contracts Using Model Transformations. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds) Theory and Practice of Model Transformations. ICMT 2008. Lecture Notes in Computer Science, vol 5063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69927-9_17
Download citation
DOI: https://doi.org/10.1007/978-3-540-69927-9_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69926-2
Online ISBN: 978-3-540-69927-9
eBook Packages: Computer ScienceComputer Science (R0)