MetaMedelling

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ReflectiveProgram Execution(ProgramRep, bindings,instrIndex)
executesOn executesOn
Program
executesOn
Execution(ProgramRep, bindings,instrIndex)
executesOn
Conceptual Modeling
CSC2507
A Repository Product
Update Marketing
cust emp dept dno dna
Customer
Authorize Credit
Order Entry
Order
Produc t
B li Customer
Scheduled Delivery
Metamodeling -- 7
2004 John Mylopoulos
Conceptual Modeling
CSC2507
Level 4
IRD schema description layer
Level 3
IRD schema layer
Level 2
IRD data layer
Level 1
Repository Manager
• Objects, properties properties
• Rich relationships • Extensibility Extensibility • Versioning • Configurations
Application data layer
2004 John Mylopoulos
Metamodeling -- 8
Conceptual Modeling
CSC2507
Model isa isa ImplModel
isa DesModel
ReqModel
Telos version of levels 2-4
refersTo
Story About The 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]
select all
Schedule Delivery
Salesperson
Inventory
Information Model
• Predefined types
Forms Forms ERD ERD
Spec Spec
Architecture Architecture Tables Tables VB Code Code VC++ Code Code
Metamodeling -- 6
2004 John Mylopoulos
Conceptual Modeling
CSC2507
IRDS - Information Resource Dictionary Standard
I I I
Data dictionary standard, since 1988 (ANSI X3.138) Technology-independent standard, akin to ER model. Proposes 4 different levels of data: Bottom level -- application data, e.g., software 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 programming language 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.
Conceptual Modeling
CSC2507
Metamodeling
What is Metamodeling? Metamodeling? Dimensions on Metamodeling Requirements on Metamodels The Information Resource Dictionary Standard (IRDS) Repositories
Simpleclasses
Metamodeling -- 9
Conceptual Modeling
CSC2507
Repositories
I I
I
A (data) repository stores and manages information about one or more data sources. A repository system consists of a conceptual model (often akin to ER model), a model base (information/data/knowledge base, operations for doing retrievals, updates, check-in/check-out, etc. 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)
Data
Student(97032,”myrto”,CS,78)
2004 John Mylopoulos
Metamodeling -- 5
Conceptual Modeling
CSC2507
Requirements on Metamodeling Notations
I I I
I I
Should be capable of describing other conceptual models, e.g., the ER model, or SADT. Support facilities for defining primitive concepts, such as entity, activity, goal within the metamodel. Offer support for modeling multiple, possibly contradictory perspectives, e.g., Maria at different times, from different viewpoints; Support variable granularity descriptions, as with geographic information; Support a variety of referential relationships, such as defines, denotes, mentions, includes, etc.
Model-Driven Tools
• Browser
• Scripting language language • Data translators translators • Model editor editor • Model merge • Component mgr • Binding/renaming Binding/renaming
Metamodeling -- 10
2004 John Mylopoulos
Conceptual Modeling
CSC2507
Repositories as Metadata Managers
DB1
2004 John Mylopoulos
DB2
File1
File2
Metamodeling -- 11
CSC2507
Another Dimension of Metamodeling
I
The world is modelled by a story; the story is modelled by a metastory,…[Gaarter94]
refersTo
Story About The World
Metametaclasses Smalltalk CooL C++Class C++Object SADT
C++Method C++ Metaclasses
GenBill
[Constantopoulos94]
implDesc
HotellS
HotellSImpl
2004 John Mylopoulos
... ... Metamodel
Metadata
Student(st#,name,dept,avg)
models instanceOf
Data
Student(97032,”myrto”,CS,78)
2004 John Mylopoulos
Metamodeling -- 3
Conceptual Modeling
2004 John Mylopoulos
Metamodeling -- 1
Conceptual Modeling
CSC2507
wenku.baidu.com
What is Metamodeling?
I I I
“Meta” Meta” means literally “after” in Greek. Meta-related themes have fascinated people throughout the centuries, e.g., [Hofstadter79] [Gaarder94] In Computer Science, the term is used heavily and with several different meanings: In Databases, metadata means “data 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 data model, e.g., an E-R model of the relational model, or an ER model of the ER model.
Metamodeling -- 2
2004 John Mylopoulos
Conceptual Modeling
CSC2507
Metamodeling
I
I
Data is modelled by metadata (“schemas”, “classes”,…) which are parts of the metamodel; these units are instances of meta 2data which are parts of a metametamodel, etc. We’d like to have metamodels which are self-descriptive to an arbitrary level of self-description.
相关文档
最新文档