skip to main content
10.1145/1083125.1083138acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

A model-driven approach to enforce crosscutting assertion checking

Published: 15 May 2005 Publication History

Abstract

Design by Contract provides an effective principle to enable the construction of robust software by describing properties of a module using logical assertions. This paper presents a model-driven approach for weaving assertion checking aspects into a large software system. The approach is based on a technique called two-level aspect weaving. At the top level, crosscutting assertions are weaved into a model by use of a model weaver. The second step of the weaving process occurs when the Model-Driven Program Transformation technique is applied to perform large-scale adaptation of the underlying source code from the contracts specified in the high-level models. The paper briefly presents a case study to illustrate the concept.

References

[1]
The Generic Modeling Environment: GME 4 User's Manual, Institute for Software Integrated Systems, Vanderbilt University, 2004 (http://www.isis.vanderbilt.edu/Projects/gme/).
[2]
Aßmann, U., Invasive Software Composition, Springer-Verlag, 2003.
[3]
Baxter, I., Pidgeon, C., and Mehlich, M., "DMS: Program Transformation for Practical Scalable Software Evolution," International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May 2004, pp. 625--634.
[4]
Czarnecki, K., and Eiseneker, U., Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000.
[5]
Diotalevi, F., "Contract Enforcement with AOP," IBM DeveloperWorks, July 2004, http://www106.ibm.com/developerworks/library/j-ceaop/
[6]
Gray, J., Sztipanovits, J., Schmidt, D., Bapty, T., Neema, S., and Gokhale, A., "Two-level Aspect Weaving to Support Evolution of Model-Driven Synthesis," in Aspect-Oriented Software Development, (Robert Filman, Tzilla Elrad, Mehmet Aksit, and Siobhán Clarke, eds.), Addison-Wesley, 2004, Chapter 30, pp. 681--710.
[7]
Gray, J., Zhang, J., Lin, Y., Roychoudhury, S., Wu, H., Sudarsan, R., Gokhale, A., Neema, S., Shi, F., and Bapty, T., "Model-Driven Program Transformation of a Large Avionics Framework," Generative Programming and Component Engineering (GPCE 2004), Springer-Verlag LNCS, Vancouver, BC, October 2004, pp. 361--378.
[8]
Karsai, G., Maroti, M., Lédeczi, Á., Gray, J., and Sztipanovits, J., "Composition and Cloning in Modeling and Meta-Modeling," IEEE Transactions on Control System Technology (special issue on Computer Automated Multi-Paradigm Modeling), March 2004, pp. 263--278.
[9]
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W., "Getting Started with AspectJ," Communications of the ACM, October 2001, pp. 59--65.
[10]
Leavens, G., and Cheon, Y., "Design by Contract with JML," Java Modeling Language Project, Internet: http://www.jmlspecs.org, 2003.
[11]
Lin, Y., Zhang, J., and Gray, J., "A Testing Framework for Model Transformations," Model-driven Software Development - Research and Practice in Software Engineering, accepted for publication in 2005, a book by Springer.
[12]
Lippert, M., and Lopes, C., "A Study on Exception Detection and Handling Using Aspect-Oriented Programming," International Conference on Software Engineering (ICSE 2000), Limmerick, Ireland, 2000, pp. 418--427.
[13]
Meyer, B., "Applying Design by Contract," Computer, 25(10), October 1992, pp. 40--51.
[14]
Neema, S., Bapty, T., Gray, J. and Gokhale, A., "Generators for Synthesis of QoS Adaptation in Distributed Real-Time Embedded Systems," First ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE '02), Springer-Verlag LNCS 2487, Pittsburgh, PA, October 2002, pp. 236--251.
[15]
Sharp, D., "Component-Based Product Line Development of Avionics Software," First Software Product Lines Conference (SPLC-1), Denver, Colorado, August 2000, pp. 353--369.
[16]
Skotiniotis, T., and Lorenz, D., "Cona: aspects for contracts and contracts for aspects," Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (OOPSLA), Vancouver, BC, Canada, October 2004, pp. 196--197.
[17]
Warmer, J., and Kleppe, A., The Object Constraint Language: Getting Your Models Ready for MDA, Addison-Wesley, 2004.
[18]
Zhang, J., and Gray, J., "Legacy System Evolution through Model-Driven Program Transformation," EDOC Workshop on Model-Driven Evolution of Legacy Systems, Monterey, CA, September 2004.
[19]
Zhang, J., Lin, Y., and Gray, J., "Generic and Domain-Specific Model Refactoring using a Model Transformation Engine," Model-driven Software Development - Research and Practice in Software Engineering, accepted for publication in 2005, a book by Springer.

Cited By

View all
  • (2017)A model-driven approach to trace checking of pattern-based temporal propertiesProceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems10.1109/MODELS.2017.9(323-333)Online publication date: 17-Sep-2017
  • (2012)Aspectization of Contracts in DbCProceedings of the 2012 Third International Conference on Computer and Communication Technology10.1109/ICCCT.2012.32(122-126)Online publication date: 23-Nov-2012
  • (2006)An Aspect-Oriented Approach to Modular Behavioral SpecificationElectronic Notes in Theoretical Computer Science10.1016/j.entcs.2006.07.002163:1(45-56)Online publication date: Sep-2006
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MACS '05: Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
May 2005
77 pages
ISBN:1595931198
DOI:10.1145/1083125
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
    July 2005
    1514 pages
    ISSN:0163-5948
    DOI:10.1145/1082983
    Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. design by contract
  3. model-driven software development
  4. program transformation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2017)A model-driven approach to trace checking of pattern-based temporal propertiesProceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems10.1109/MODELS.2017.9(323-333)Online publication date: 17-Sep-2017
  • (2012)Aspectization of Contracts in DbCProceedings of the 2012 Third International Conference on Computer and Communication Technology10.1109/ICCCT.2012.32(122-126)Online publication date: 23-Nov-2012
  • (2006)An Aspect-Oriented Approach to Modular Behavioral SpecificationElectronic Notes in Theoretical Computer Science10.1016/j.entcs.2006.07.002163:1(45-56)Online publication date: Sep-2006
  • (2017)Dynamic update of business process managementProceedings of the 39th International Conference on Software Engineering Companion10.1109/ICSE-C.2017.25(413-416)Online publication date: 20-May-2017
  • (2012)Formal modeling of evolving self-adaptive systemsScience of Computer Programming10.1016/j.scico.2011.09.00478:1(3-26)Online publication date: 1-Nov-2012
  • (2011)Context-based behavioral equivalence of components in self-adaptive systemsProceedings of the 13th international conference on Formal methods and software engineering10.5555/2075089.2075095(16-32)Online publication date: 26-Oct-2011
  • (2011)Ten years of analyzing actorsFormal modeling10.5555/2074591.2074596(20-56)Online publication date: 1-Jan-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media