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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
What is metamodeling, and what is it good for? last accessed 5 June (2005), available at http://www.metamodel.com
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)
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)
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)
Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer 32(7), 38–45 (1999)
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)
En Chan, Z.: Multiview of a contract metamodel in systems engineering. Msc thesis, Department of Computer Science, University of York, United Kingdom (September 2004)
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)
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)
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)
Microsoft Inc. Domain-Specific Language (DSL) Tools (2004)
Mingins, C., Jézéquel, J.-M., Train, M.: Design Patterns and Contracts. Addison-Wesley, Reading (1999)
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)
Kotonya, G., Sommerville, I.: Requirements Engineering: processes and techniques. John Wiley & Sons, Chichester (1998)
Loke, S.W., Ling, S.: Design-by-contract for Java based mobile agents. In: Proc. OOSDS 1999 (1999)
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)
McNeile, A., Simons, N.: Methods of Behaviour Modelling: A Commentary on Behaviour Modelling Techniques for MDA. Metamaxim Ltd, (2004) DRAFT Version 3
Meyer, B.: Building bug-free O-O software: An introduction to design by contract, available at http://www.eiffel.com
Meyer, B.: Design-by-contract. Technical report tr-ei-12/co, ISE Inc. (1987)
Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1997)
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
Mitchell, R., McKim, J.: Design by Contract, by Example. Addison-Wesley, Reading (2001)
Nunes, I.: Design by contract using meta-assertions. Journal of Object Technology, Special Edition: TOOLS USA 2002 proceedings 1(3), 37–56 (2002)
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)
Object Management Group. UML 2.0 OCL Final Adopted Specification (2004)
Society of Automative Engineers. Architectural Analysis and Design Language (AADL). SAE (2005)
Paige, R.: An encoding of unit and accuracy assertions in UML and OCL, DARP internal report (2003)
Radjenovic, A.: AIM: Architectural Modelling for Managing Change in HIRTS. DARP HIRTS Project (2005)
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)
Rosenblum, D.S.: A practical approach to programming with assertions. IEEE Transactions on Software Engineering 21(1), 19–31 (1995)
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)
Skene, J., Lamanna, D.D., Emmerich, W.: Precise service level agreements. In: Proc. ICSE 2004. IEEE Press, Los Alamitos (2004)
Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)
Taylor, R.N.: Assertions in programming languages. ACM SIGPLAN Notices 15(1), 105–114 (1980)
Yergeau, F., Cowan, J., Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E.: Extensible markup language (XML) 1.1
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)