Skip to main content

Designing a Domain-Specific Contract Language: A Metamodelling Approach

  • Conference paper
Model Driven Architecture – Foundations and Applications (ECMDA-FA 2005)

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

Abstract

Domain-specific languages are of increasing importance in software engineering. Little attention has been paid to the systematic production of domain-specific contract languages (DSCLs). In this paper, we present a metamodel-based approach for designing DSCLs. An extensible metamodel for software contracts is presented, and a process for building DSCLs is sketched. Finally, an example of building a DSCL is demonstrated, using the metamodel and process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. What is metamodeling, and what is it good for? last accessed 5 June (2005), available at http://www.metamodel.com

  2. Baar, T., Hahnle, R.: An integrated metamodel for OCL types. In: Proceedings of OOPSLA 2000, Workshop Refactoring the UML: In Search of the Core, Minneapolis, Minnesota, USA (2000)

    Google Scholar 

  3. Baresi, L., Denaro, G., Mainetti, L., Paolini, P.: Assertions to better specify the Amazon bug. In: Proceedings of the 14th international conference on Software engineering and knowledge engineering. ACM Press, New York (2002)

    Google Scholar 

  4. Barnett, M., Cook, C., Pendse, O., Rothermel, G., Summet, J., Wallace, C.: End-user software engineering with assertions in the spreadsheet paradigm. In: Proceedings of the 25th International Conference on Software Engineering, pp. 93–103. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  5. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer 32(7), 38–45 (1999)

    Google Scholar 

  6. Briand, L.C., Labiche, Y., Sun, H.: Investigating the use of analysis contracts to support fault isolation in object oriented code. In: Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, pp. 70–80. ACM Press, New York (2002)

    Google Scholar 

  7. En Chan, Z.: Multiview of a contract metamodel in systems engineering. Msc thesis, Department of Computer Science, University of York, United Kingdom (September 2004)

    Google Scholar 

  8. Damianou, N., Dulay, N., Lupu, E., Sloman, M.: The Ponder policy specification language. In: Sloman, M., Lobo, J., Lupu, E.C. (eds.) POLICY 2001. LNCS, vol. 1995, pp. 18–39. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. Flake, S., Mueller, W.: An OCL extension for real-time constraints. In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 150–171. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  11. Microsoft Inc. Domain-Specific Language (DSL) Tools (2004)

    Google Scholar 

  12. Mingins, C., Jézéquel, J.-M., Train, M.: Design Patterns and Contracts. Addison-Wesley, Reading (1999)

    Google Scholar 

  13. Klaeren, H., Pulvermüller, E., Rashid, A., Speck, A.: Aspect composition applying the design by contract principle. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 57–69. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Kotonya, G., Sommerville, I.: Requirements Engineering: processes and techniques. John Wiley & Sons, Chichester (1998)

    Google Scholar 

  15. Loke, S.W., Ling, S.: Design-by-contract for Java based mobile agents. In: Proc. OOSDS 1999 (1999)

    Google Scholar 

  16. Madsen, P.: Enhancing design-by-contract with knowledge about equivalence partitions. Journal of Object Technology, Special issue: TOOLS USA 2003 3(4), 5–21 (2004)

    Google Scholar 

  17. McNeile, A., Simons, N.: Methods of Behaviour Modelling: A Commentary on Behaviour Modelling Techniques for MDA. Metamaxim Ltd, (2004) DRAFT Version 3

    Google Scholar 

  18. Meyer, B.: Building bug-free O-O software: An introduction to design by contract, available at http://www.eiffel.com

  19. Meyer, B.: Design-by-contract. Technical report tr-ei-12/co, ISE Inc. (1987)

    Google Scholar 

  20. Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  21. Michiels, C., Snoeck, M., Lemahieu, W., Goethals, F., Dedene, G.: A layered architecture sustaining model driven and event driven software development, technical report, KU-Leuven

    Google Scholar 

  22. Mitchell, R., McKim, J.: Design by Contract, by Example. Addison-Wesley, Reading (2001)

    Google Scholar 

  23. Nunes, I.: Design by contract using meta-assertions. Journal of Object Technology, Special Edition: TOOLS USA 2002 proceedings 1(3), 37–56 (2002)

    Google Scholar 

  24. Nunes, I.: An OCL extension for low-coupling preserving contracts. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 310–324. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  25. Object Management Group. UML 2.0 OCL Final Adopted Specification (2004)

    Google Scholar 

  26. Society of Automative Engineers. Architectural Analysis and Design Language (AADL). SAE (2005)

    Google Scholar 

  27. Paige, R.: An encoding of unit and accuracy assertions in UML and OCL, DARP internal report (2003)

    Google Scholar 

  28. Radjenovic, A.: AIM: Architectural Modelling for Managing Change in HIRTS. DARP HIRTS Project (2005)

    Google Scholar 

  29. Richters, M., Gogolla, M.: A metamodel for OCL. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 156–171. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  30. Rosenblum, D.S.: A practical approach to programming with assertions. IEEE Transactions on Software Engineering 21(1), 19–31 (1995)

    Article  Google Scholar 

  31. Rosu, G., Chen, F.: Certifying measurement unit safety policy. In: 18th IEEE International Conference on Automated Software Engineering, p. 304. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  32. Skene, J., Lamanna, D.D., Emmerich, W.: Precise service level agreements. In: Proc. ICSE 2004. IEEE Press, Los Alamitos (2004)

    Google Scholar 

  33. Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)

    Google Scholar 

  34. Taylor, R.N.: Assertions in programming languages. ACM SIGPLAN Notices 15(1), 105–114 (1980)

    Article  Google Scholar 

  35. Yergeau, F., Cowan, J., Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E.: Extensible markup language (XML) 1.1

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chan, Z.E., Paige, R.F. (2005). Designing a Domain-Specific Contract Language: A Metamodelling Approach. In: Hartman, A., Kreische, D. (eds) Model Driven Architecture – Foundations and Applications. ECMDA-FA 2005. Lecture Notes in Computer Science, vol 3748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11581741_14

Download citation

  • DOI: https://doi.org/10.1007/11581741_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30026-7

  • Online ISBN: 978-3-540-32093-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics