Skip to main content

Model Composition Contracts

  • Conference paper
  • 1896 Accesses

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

Abstract

The state-of-the-art in aspect-oriented programming and modeling provides flexible querying and composition mechanisms that allow virtually unrestricted modifications to base code or models using static or dynamic weaving. There is, however, a lack of support for specifying and controlling the permitted effects of compositions with respect to the base models involved. We present model composition contracts, which govern access to the base models via aspects; in essence, the contracts control how aspect compositions may or may not access and change the models, or the underlying code reflected by models. The composition contracts define constraints in terms of pre- and post-conditions restricting the eligibility for composition. We argue that composition contracts improve reliability of model composition in software engineering, and evaluate their effects on model designs and implementations using a case study. We support the approach with a prototype tool for specifying and checking contracts.

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   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. Clarke, S., Walker, R.J.: Composition Patterns: An Approach to Designing Reusable Aspects. In: International Conference of Software Engineering (ICSE), pp. 5–14. IEEE Computer Society, Los Alamitos (2001)

    Google Scholar 

  3. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  4. Filman, R., Friedman, D.: Aspect-Oriented Programming is Quantification and Obliviousnessm. In: Workshop on Advanced Separation of Concerns, OOPSLA 2000. Technical Report 01.12, RIACS (2001)

    Google Scholar 

  5. Meyer, B.: Applying “Design by Contract”. IEEE Computer 25(10), 40–51 (1992)

    Article  Google Scholar 

  6. Demchak, B., Ermagan, V., Farcas, E., Huang, T., Krüger, I., Menarini, M.: A Rich Services Approach to CoCoME. In: Rausch, A., Reussner, R., Mirandola, R., Plasil, F. (eds.) The Common Component Modeling Example. LNCS, vol. 5153, pp. 85–115. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. mulesource.org: Mule - Open Source ESB (2009), http://www.mulesource.org

  8. Oldevik, J., Haugen, O.: From Sequence Diagrams to Java-Stairs Aspects. In: Proc. of the 8th ACM Int. Conf. on Aspect-Oriented Software Development, pp. 99–110 (2009)

    Google Scholar 

  9. Krüger, I.H.: Distributed System Design with Message Sequence Charts. PhD thesis, Technischen Universität München (2000)

    Google Scholar 

  10. Krüger, I.H., Meisinger, M., Menarini, M.: Runtime Verification of Interactions: From MSCs to Aspects. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 63–74. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  11. Akers, S.B.: Binary Decision Diagrams. IEEE Trans. of Comp. 27(6), 509–516 (1978)

    Article  MATH  Google Scholar 

  12. Czarnecki, K., Pietroszek, K.: Verifying Feature-based Model Templates Against Well-formedness OCL Constraints. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE 2006), pp. 211–220 (2006)

    Google Scholar 

  13. Griswold, W.G., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular Software Design with Crosscutting Interfaces. IEEE Software 23(1), 51–60 (2006)

    Article  Google Scholar 

  14. Ossher, H.: Confirmed Join Points. In: AOSD Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT (2006)

    Google Scholar 

  15. Dantas, D.S., Walker, D.: Harmless Advice. In: 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2006), New York, USA, pp. 383–396 (2006)

    Google Scholar 

  16. Klaeren, H., Pulvermueller, E., Rashid, A., Speck, A.: Aspect Composition Applying the Design by Contract Principle. In: GCSE 2000: Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering, London, UK, pp. 57–69. Springer, Heidelberg (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Oldevik, J., Menarini, M., Krüger, I. (2009). Model Composition Contracts. In: Schürr, A., Selic, B. (eds) Model Driven Engineering Languages and Systems. MODELS 2009. Lecture Notes in Computer Science, vol 5795. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04425-0_40

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04425-0_40

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04424-3

  • Online ISBN: 978-3-642-04425-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics