Country/region
[
change
]
Terms of use
All of IBM
Home
Products
Services & solutions
Support & downloads
My account
IBM Research
Journals Home
Systems Journal
Current Issue
Recent Issues
Papers in Progress
Search Journal Archives
Subscribe/Order
Description
Author's Guide
Journal of Research
and Development
Staff
Contact Us
Related links
IBM developerWorks: Explore Model-Driven Development and related approaches
IBM developerWorks: Rational software developer resources
OMG’s Model Driven Architecture
IBM Research: Model Driven Engineering Technology
Product Line Architecture Research Group
Model-Driven Software Development
Volume 45, Number 3, 2006
Table of contents:
HTML
PDF
This article:
HTML
PDF
Copyright info
Multilevel models in model-driven engineering, product lines, and metaprogramming - References
by D.
Batory
Cited references and notes
J. Greenfield, K. Short, S. Cook, S. Kent, and J. Crupi,
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools
, John Wiley and Sons, 2004.
K. Czarnecki and U. Eisenecker,
Generative Programming Methods, Tools, and Applications.
, Addison-Wesley, Boston, MA, 2000.
D. M. Weiss and C. T. R. Lai,
Software Product-Line Engineering: A Family-Based Software Development Process.
, Addison-Wesley, Reading, MA, 1999.
D. Batory, J. N. Sarvela, and A. Rauschmayer, “Scaling Step-Wise Refinement,”
IEEE Transactions on Software Engineering (TOSEM)
(June 2004), pp. 355–371.
R. Laemmel, J. Sariava, and J. Visser, Editors,
Proceedings of the Summer School on Generative and Transformational Techniques in Software Engineering
, Braga, Portugal (July 2005). To appear in Springer
Lecture Notes in Computer Science
, 2006.
A. W. Brown, G. Booch, S. Iyengar, J. Rumbaugh, and B. Selic, “An MDA Manifesto,” Chapter 11 in
Model Driven Architecture Straight from the Masters
, D. S. Frankel and J. Parodi, Editors, Meghan-Kiffer Press, Tampa, FL, 2004.
P. Zave, “A Compositional Approach to Multiparadigm Programming,”
IEEE Software
6
, No. 5, 15–25 (September 1989).
Different names for the same concept at the application and meta-application levels will always increase complexity and the potential for confusion, as the section “Other MDE Concepts” illustrates.
It could be argued that the ideas expressed in this paper could have just as easily been cast in terms of concepts from functional programming languages. Although this may be true, there is considerable evidence that inheritance is not part of the functional-programming-language paradigm. It is an essential idea of mixins, mixin layers, and program extensions, which are central to this paper.
A. Agrawal, “Graph Rewriting And Transformation (GReAT): A Solution for the Model Integrated Computing (MIC) Bottleneck,”
Automated Software Engineering 2003
, pp. 364–369.
G. Kiczales, J. des Rivieres, and D. G. Bobrow,
The Art of the Meta-Object Protocol
, MIT Press, 1991.
D. A. Moon, “Object-Oriented Programming with Flavors,”
ACM SIGPLAN Conference on Object-Oriented Programming, Systems, and Applications (OOPSLA) 1986
, pp. 1–8.
Languages with mixins typically satisfy the first constraint by requiring the base class to implement an interface that contains the Object pop () method. It is not always clear how the second constraint is expressed.
E. D. Berger, B. G. Zorn, and K. S. McKinley, “Composing High-Performance Memory Allocators,”
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2001,
pp. 114–124.
Constructors and methods can have additional parameters. See
Reference 14
for details.
D. Batory, V. Singhal, J. Thomas, and M. Sirkin, “Scalable Software Libraries,”
Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering 1993,
Los Angeles, CA (December 7–10, 1993), pp. 191–199.
I. Holland, “Specifying Reusable Components Using Contracts,”
European Conference on Object Oriented Programming (ECOOP) 1992
, pp. 287–308.
M. Van Hilst and D. Notkin, “Using Role Components to Implement Collaboration-Based Designs,”
Proceedings of ACM SIGPLAN Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA ’96)
, San Jose, CA (October 1996), pp. 359–369.
Y. Smaragdakis and D. Batory, “Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs,”
ACM Transactions on Software Engineering and Methodology (TOSEM)
11
, No. 2, 215–255 (April 2002).
Y. Smaragdakis and D. Batory, “Implementing Layered Designs with Mixin Layers,”
Proceedings of the Twelfth European Conference on Object Oriented Programming (ECOOP ’98),
Brussels, Belgium (July 20–24, 1998),
Lecture Notes in Computer Science
1445
, Springer-Verlag (1998), pp. 550–570.
D. Batory and S. O'Malley, “The Design and Implementation of Hierarchical Software Systems with Reusable Components,”
ACM Transactions on Software Engineering and Methodology (TOSEM)
1
, No. 4, 355–398 (October 1992).
D. Batory, “Concepts for a Database System Compiler,”
Proceedings of the ACM SIGSOFT Symposium on Principles of Database Systems (PODS)
, Austin, TX, (March 21–23, 1998), ACM, New York, pp. 184–192.
D. Batory, J. Liu, and J. N. Sarvela, “Refinements and Multidimensional Separation of Concerns,”
ACM SIGSOFT Symposium on the Foundations of Software Engineering 2003
, Helsinki, Finland, September 1–3, 2003, ACM, New York, pp. 48–57.
K. Czarnecki, S. Helsen, and U. Eisenecker, “Staged Configuration Through Specialization and Multi-Level Configuration of Feature Models,”
Software Process Improvement and Practice
10
, No. 2, 143–169 (2005).
O. Diaz, S. Trujillo, and F. I. Anfurruita, “Supporting Production Strategies As Refinements of the Production Process,”
Software Product Line Conference (SPLC) 2005
, pp. 210–221.
D. Sharp, “Component-Based Product-Line Development of Avionics Software,”
Software Product Line Conference (SPLC) 2000
, pp. 353–370.
J. Sztipanovits and G. Karsai, “Model Integrated Computing,”
IEEE Computer
30
, No. 4, 110–111 (April 1997).
J. Gray, J. Zhang, Y. Lin, S. Roychoudhury, H. Wu, R. Sudarsan, A. S. Gokhale, S. Neema, F. Shi, and T. Bapty, “Model-Driven Program Transformation of a Large Avionics Framework,”
Generative Programming and Component Engineering (GPCE) 2004
, pp. 361–378.
J. Gray, personal communication, Sept., 2005.
Model-Based Synthesis of Generators for Embedded Systems,
Institute for Software Integrated Systems, Vanderbilt University,
http://www.isis.vanderbilt.edu/projects/mobies/downloads.asp
.
OMG/MOF, “Meta Object Facility (MOF) Specification,” OMG Document AD/97-08-14,
http://www.omg.org
.
J. Bezivin, “Model Driven Engineering: Principles, Scope, Deployment, and Applicability,” in
Reference 5
.
J. Bezivin, “From Object Composition to Model Transformation with the MDA,”
Technology of Object-Oriented Languages and Systems (TOOLS'USA)
(August 2001), p. 350.
This three-level model is consistent with prior work on metaclasses in OO programming languages. Forman and Danforth's text (
Reference 35
) provides a good explanation. Reflection is a form of metaprogramming when a program is allowed to change itself.
ISO/IEC 9075.,
Database Language SQL
, International Standard ISO/IEC 9075:1992, American National Standard X3.135-1992, American National Standards Institute (1992).
DBMSs store schema descriptions as tuples in database relations called information schema tables. Tuples in such tables are called metadata. (See
Reference 35
.)
G. Karsai, M. Maroti, A. Ledeczi, J. Gray, and J. Sztipanovits, “Composition and Cloning in Modeling and Metamodeling,”
IEEE Transactions Control Systems Technology
12
, No. 2, 263–278 (March 2004).
I. Forman and Scott Danforth,
Putting Metaclasses to Work
, Addison-Wesley, 1999.
About IBM
Privacy
Contact