JRM Vol.17 No.1 pp. 3-10
doi: 10.20965/jrm.2005.p0003


sMML – A Smart MetaModeling Language for Flexible Modeling

Makoto Oya

Graduate School of Information and Technology, Hokkaido University, N14, W9, Kita-ku, Sapporo 060-0814, Japan

October 12, 2004
November 17, 2004
February 20, 2005
software modeling, modeling language, metamodel, UML

Modeling is the key to software design, from large information systems to embedded software. Without well-considered software models, the developed implementation becomes inconsistent or distant from the original requirement. A model is created using a modeling language. UML is a standardized general-purpose modeling language widely used in enterprise systems design. Because it is very large language, UML is not always appropriate for designing small software. Designers also often want to describe models differently based on the immediate need preferring simple, application-specific but flexible notation rather than the rigidity of UML. We propose a metamodeling language, called sMML, to define custom-made modeling language that enables designers to define a suitable modeling language on demand, then write actual models using it. sMML is a metamodeling language small enough to define a variety of modeling languages, self-closed and independent of other modeling languages, and aligned with UML. After completely defining sMML, we present experimental results applying sMML, taking a simple modeling language and UML as examples, which demonstrates that sMML is useful for flexible modeling and capable of defining a wide range of modeling languages.

Cite this article as:
Makoto Oya, “sMML – A Smart MetaModeling Language for Flexible Modeling,” J. Robot. Mechatron., Vol.17, No.1, pp. 3-10, 2005.
Data files:
  1. [1] G. Booch, “The Unified Modeling Language User Guide,” Addison-Wesley, 1999.
  2. [2] I. Jacobson, G. Booch, and J. Rumbaugh, “The Unified Software Development Process,” Addison-Wesley, 1999.
  3. [3] OMG, “UML 2.0 Infrastructure Specification,” ptc/2003-09-15, 2003.
  4. [4] OMG, “UML 2.0 Superstructure Specification,” ptc/2003-08-02, 2003.
  5. [5] OMG, “UML 2.0 OCL,” ptc/2003-10-14, 2003.
  6. [6] OMG, “Meta Object Facility (MOF) 2.0,” ad/2003-04-07, 2003.
  7. [7] ISO/IEC, “Open Distributed Processing – Reference Model (RMODP),” ISO/IEC 10746, 1995-98.
  8. [8] J. Miller, J. Mukerji et al., “MDA guide version 1.0,” OMG omg/2003-05-01, May 2003.
  9. [9] M. Oya, “MDA and System Design,” Presentation at Object Management Group Technical Meeting, ,
  10. [10] K. Hirose, and M. Oya, “General Theory of Flow-Charts,” Comment. Math. Univ. St. Pauli XXI-2, pp. 55-71, 1972.
  11. [11] M. Show, and D. Garlan, “Software Architecture,” Prentice-Hall, 1996.
  12. [12] G. Smith, “The Object-Z Specification Language,” Kluwer Academic Publishers, 2000.
  13. [13] H. Horiuchi, and M. Oya, “Business Object Sharing Technology,” Ohmu-sha, 2003. (in Japanese)

*This site is desgined based on HTML5 and CSS3 for modern browsers, e.g. Chrome, Firefox, Safari, Edge, Opera.

Last updated on Mar. 05, 2021