<<

Conceptual Modeling CSC2507

Metamodeling

What is ? Dimensions on Metamodeling on Metamodels The Resource Dictionary Standard (IRDS) Repositories

 2004 John Mylopoulos Metamodeling -- 1

Conceptual Modeling CSC2507 What is Metamodeling?

I “MMetaeta” means literally “after” in Greek. I Meta-related themes have fascinated people throughout the centuries, e.g., [Hofstadter79] [Gaarder94] I In , the term is used heavily and with several different meanings:  In , means “ about data” and refer to data dictionaries, repositories, etc.;  In Programming Languages, metainterpreter is an interpreter of a (program) interpreter [Smith84]  In Conceptual Modeling, metamodel is a model of a , e.g., an E-R model of the , or an ER model of the ER model.

 2004 John Mylopoulos Metamodeling -- 2 Conceptual Modeling CSC2507 Metamodeling I Data is modelled by metadata (“schemas”, “classes”,…) which are parts of the metamodel; these units are instances of meta2data which are parts of a metametamodel, etc. I We’d like to have metamodels which are self-descriptive to an arbitrary level of self-description...... Metamodel Metadata Student(st#,name,dept,avg) models instanceOf Data Student(97032,”myrto”,CS,78)

 2004 John Mylopoulos Metamodeling -- 3

Conceptual Modeling CSC2507

Another Dimension of Metamodeling

I The world is modelled by a story; the story is modelled by a metastory,…[Gaarter94]

Story Story About About refersTo The refersTo The World Story

Metamodel

 2004 John Mylopoulos Metamodeling -- 4 Conceptual Modeling CSC2507

…and Another... I A program execution operates on data; a metaexecution operates on a program execution,….[Smith84]

ReflectiveProgram Execution(ProgramRep, bindings,instrIndex)

executesOn executesOn

Program Execution(ProgramRep, bindings,instrIndex)

executesOn executesOn

Data Student(97032,”myrto”,CS,78)

 2004 John Mylopoulos Metamodeling -- 5

Conceptual Modeling CSC2507 Requirements on Metamodeling Notations I Should be capable of describing other conceptual models, e.g., the ER model, or SADT. I Support facilities for defining primitive concepts, such as entity, activity, goal within the metamodel. I Offer support for modeling multiple, possibly contradictory perspectives, e.g., Maria at different times, from different viewpoints; I Support variable granularity descriptions, as with geographic information; I Support a variety of referential relationships, such as defines, denotes, mentions, includes, etc.

 2004 John Mylopoulos Metamodeling -- 6 Conceptual Modeling CSC2507 IRDS - Information Resource Dictionary Standard I standard, since 1988 (ANSI X3.138) I Technology-independent standard, akin to ER model. I Proposes 4 different levels of data:  Bottom level -- application data, e.g., code;  Level 2 -- data dictionary for application data, e.g., identifiers for procedures, variables, data types, etc.  Level 3 -- schema for the data dictionary, e.g., what is a procedure (in the the code is written in), what is a variable,…  Level 4 -- different types of IRDS schemas, e.g., programming language schemas vs requirements modeling ones.  2004 John Mylopoulos Metamodeling -- 7

Conceptual Modeling CSC2507

Level 4 IRD schema description layer

Level 3 IRD schema layer

Level 2 IRD data layer

Level 1 Application data layer

 2004 John Mylopoulos Metamodeling -- 8 Conceptual Modeling CSC2507

Model isa ReqModel isa isa DesModel

ImplModel Telos Metametaclasses

version Smalltalk of levels CooL C++Class SADT 2-4 C++Object

C++Method C++ Metaclasses

GenBill implDesc HotellS [Constantopoulos94] HotellSImpl Simpleclasses  2004 John Mylopoulos Metamodeling -- 9

Conceptual Modeling CSC2507 Repositories

I A (data) repository stores and manages information about one or more data sources. I A repository system consists of a (often akin to ER model), a model base (information/data/, operations for doing retrievals, updates, check-in/check-out, etc. I There are many commercial repository products,  Many are hard-coded meta-models (commodity tools)  Most run on RDBMSs (Platinum, SAP, Oracle, MS, …)  Some based on proprietary DBMS (Softlab, Viasoft)  A few run on OODBs (IBM, Unisys)

 2004 John Mylopoulos Metamodeling -- 10 Conceptual Modeling CSC2507

Repositories as Metadata Managers

DB1 DB2 File1 File2  2004 John Mylopoulos Metamodeling -- 11

Conceptual Modeling CSC2507 A Repository Product

Update Marketing cust Customer Authorize emp Credit Order dept Entry dno Order Product Blli dna Customer Scheduled Delivery

Schedule Delivery select all Salesperson Inventory

Forms Spec ERD Model-Driven Architecture

• Predefined types Tables Tools VB CodeCode VC++ CodeCode • Browser Repository Manager • • Objects, properties • Data translators • Rich relationships • Model editoreditor • Extensibility • Model merge • Versioning System • Component mgrmgr • Configurations • Binding/renaming

Database [Bernstein99]

 2004 John Mylopoulos Metamodeling -- 12 Conceptual Modeling CSC2507 References

I [Bernstein99] Bernstein, P., “Using Meta-Data to Conquer Database Complexity”, Colloquium presentation, University of Toronto, October 1999; http://www.research.microsoft.com/~philbe. I [Gaarder94] Gaarder, J., Sophie’s World, Farrar, Straus and Giroux Inc., 1994. I [Hofstadter79] Hofstadter, D., Godel, Escher, Bach: An Eternal Golden Braid, Vintage Books, 1979. I [Smith84] Smith, B. C., “Reflection and the Semantics of Lisp”, Proceedings of the Eleventh Annual Conference on Principles of Programming Languages (POPL), Salt Lake City, 23-35, 1984.

 2004 John Mylopoulos Metamodeling -- 13