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
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
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)
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)
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)
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)
Meyer, B.: Applying “Design by Contract”. IEEE Computer 25(10), 40–51 (1992)
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)
mulesource.org: Mule - Open Source ESB (2009), http://www.mulesource.org
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)
Krüger, I.H.: Distributed System Design with Message Sequence Charts. PhD thesis, Technischen Universität München (2000)
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)
Akers, S.B.: Binary Decision Diagrams. IEEE Trans. of Comp. 27(6), 509–516 (1978)
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)
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)
Ossher, H.: Confirmed Join Points. In: AOSD Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT (2006)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)