The Theory and Practice of Modeling Language Design for Model-Based Software Engineering—A Personal Perspective

  • Bran Selic

Abstract

The design of modeling languages is still much more of an art than a science. There is as yet no systematic consolidated body of knowledge that a practitioner can refer to when designing a computer-based modeling language. This overview article provides a personal perspective, comprising a selective summary of some important lessons learned and experiences gained in the design of some of the currently most widely used modeling languages, in particular the industry standard UML and MOF languages. The purpose is to provide readers with a sense of the state of the practice and state of the theory, such as it is, based on the author’s long-term experience in this domain. Various key concepts involved are defined, current common methods of language design are explored, and heuristic guidelines provided. A list of key research topics is included at the end.

Keywords

engineering models modeling languages model-based engineering model-driven development computer language design metamodeling MOF EMF UML profiles programming language semantics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Budinsky, F., Brodsky, S., Merks, E.: Eclipse Modeling Framework. Pearson Education, London (2003)Google Scholar
  2. 2.
    Greenfield, J., et al.: Software Factories. John Wiley & Sons, Chichester (2004)Google Scholar
  3. 3.
    International Standards Organization (ISO), Industrial automation systems and integration–Process specification language, ISO standard 18629 (2005), http://www.iso.org/iso/home.htm
  4. 4.
    Kelly, S., Tolvanen, J.-P.: Domain-specific Modeling. IEEE Computer Society Publications, John Wiley & Sons, Inc. (2008)Google Scholar
  5. 5.
    Kleppe, A.: Software Language Engineering—Creating Domain-Specific Languages Using Metamodels. Addison-Wesley, Reading (2008)Google Scholar
  6. 6.
    Mernik, M., Heering, J., Sloane, M.: When and how to develop domain-specific languages. ACM Computing Surveys 37(4), 316–344 (2005)CrossRefGoogle Scholar
  7. 7.
    Meyer, B.: UML: The Positive Spin. American Programmer (1997)Google Scholar
  8. 8.
    Moody, D.: The ’Physics’ of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering. IEEE Transactions of Software Engineering 35(6), 756–779Google Scholar
  9. 9.
    Nunes, N.J., et al.: UML Satellite Activities 2004. LNCS, vol. 3297, pp. 94–233. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Object Management Group (OMG), Meta Object Facility (MOF) Core, v.2.0, Document formal/06-01-01 (2006)Google Scholar
  11. 11.
    Object Management Group (OMG), Semantics of a Foundational Subset for executable UML Models, Document ptc/2009-10-05 (2009), http://www.omg.org/spec/FUML/1.0
  12. 12.
    Object Management Group (OMG), Unified Modeling Language (UML) Superstructure Specification, v.2.1.1, document formal/07-02-05 (2007)Google Scholar
  13. 13.
    Selic, B., Ward, P.T., Gullekson, G.: Real-Time Object-Oriented Modeling. John Wiley & Sons, Chichester (1995)Google Scholar
  14. 14.
    Selic, B.: Personal Reflections on Automation, Programming Culture, and Model-Based Software Engineering. Automated Software Engineering 15(3-4), 379–391 (2008)CrossRefGoogle Scholar
  15. 15.
    Vitruvius, M.P.: The Ten Books on Architecture. Dover Publications, Mineola (1960)Google Scholar
  16. 16.
    Weigert, T., Weil, F.: Practical Experience in Using Model-Driven Engineering to Develop Trustworthy Computing Systems. In: Proceedings of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing, June 5-7, vol. 1, pp. 208–217 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Bran Selic
    • 1
  1. 1.Malina Software Corp.NepeanCanada

Personalised recommendations