|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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
|
|
| |
3
|
|
| |
4
|
|
| |
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
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William Griswold, Getting started with ASPECTJ, Communications of the ACM, v.44 n.10, p.59-65, Oct. 2001
[doi> 10.1145/383845.383858]
|
| |
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
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
Therapon Skotiniotis , David H. Lorenz, Cona: aspects for contracts and contracts for aspects, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
[doi> 10.1145/1028664.1028747]
|
| |
17
|
|
| |
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.
|
|