In Behavioral Semantics of OO Business and System Specifications, Proc. of the 8th OOPSLA Workshop, Denver (Colorado), USA, 1999 K. Baclawski, H. Kilov, A. Thalassinidis and K. Tyson (Eds.) Northeastern University, College of Computer Science, 1999 Abstract metamodeling, I: How to reason about meta- and metamodels in a formal way Zinovy Diskin∗ Frame Inform Systems,Ltd. Riga, Latvia
[email protected],
[email protected] Abstract The paper suggests a formal framework to reason about metamodeling in a way independent of specifics of one or another metamodel and so encompassing such distinct metamodels as, say, relational, UML and XML. To this end, the notion of specification (schema, model) and its instances is described in an entirely abstract way like mathematical structures are described. The key novelty of the framework is that mappings between specifications are involved and, moreover, play the key role in formal explicating of metamodeling constructs. Also, the notion of metamodel morphism is defined, which formally explicates such well known transformations as mapping ER-diagrams into relational database schemas or UML-diagrams into code in some OO-programing language. Particularly, the notion makes it possible to describe the UML architecture by precise and formalizable yet comprehensible graphic diagrams. 1 Introduction: AMM vs. UML Relational data (meta)model is well defined in a precise way, both syntactically and semantically, and reasoning within RDM is, in fact, mathematics. Much less precision one finds in semantics of ER-based models and even less in semantic definitions of various OO-models but it does not prevent reasoning about models within ER or OO frameworks.