Skip to main content

Extracting Object Interactions Out of Software Contracts Using Model Transformations

  • Conference paper
  • 906 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5063))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Article  Google Scholar 

  2. Alanen, M., Lundkvist, T., Porres, I.: Creating and Reconciling Diagrams after Executing Model Transformations. Science of Computer Programming 68(3), 155–178 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–645 (2006)

    Article  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. O. M. G. Inc. Meta Object Facility (MOF) 2.0. Query/View/Transformation Specification. OMG Document ptc/05-11-01 (November 2005)

    Google Scholar 

  9. O. M. G. Inc. UML Superstructure, v2.1.1. OMG Document formal/07-02-05 (February 2007)

    Google Scholar 

  10. Kaldewaij, A.: Programming: The Derivation of Algorithms. Prentice-Hall International Series in Computer Science (1990)

    Google Scholar 

  11. Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall, Englewood Cliffs (2004)

    Google Scholar 

  12. Lawley, M., Raymond, K.: Implementing a Practical Declarative Logic-based Model Transformation Engine. In: SAC 2007, pp. 971–977 (2007)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Meyer, B.: Object-Oriented Software Construction. 2 edn. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1997)

    Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. Rumbaugh, J., Jacobson, I., Booch, G.: Unified Modeling Language Reference Manual, 2nd edn. Pearson Higher Education (2004)

    Google Scholar 

  17. Selonen, P., Systä, T., Koskimies, K.: Generating Structured Implementation Schemes from UML Sequence Diagrams. In: TOOLS 2001, pp. 317–330 (2001)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. 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)

    Google Scholar 

  21. Vignaga, A.: A Case Study in Formal Reasoning about the Use of State Modification Primitives. Technical Report 04-09, InCo/Pedeciba (2004)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Vignaga, A., Bastarrica, M.C.: Transforming System Operations’ Interactions into a Design Class Diagram. In: SAC 2007, pp. 993–997 (2007)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. Wirfs-Brock, R., McKean, A.: Object Design: Roles, Responsibilities, and Collaborations. Pearson Education (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Antonio Vallecillo Jeff Gray Alfonso Pierantonio

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics