元建模级别

 

摘自[Tony Clark, Andy Evans, et al., Applied Metamodelling],<<>>内容为注释。

We are often asked by clients how they can assess the quality of a metamodel. To help them, we have found the following five levels to be useful:

Level 1 This is the lowest level.

A simple abstract syntax model must be defined, which has not been checked in a tool.

The semantics of the language it defines will be informal and incomplete and

there will be few, if any, well-formed rules.

 Level 2 At this level,

the abstract syntax model will be relatively complete.

A significant number of well-formedness rules will have been defined, and

some or all of the model will have been checked in a tool.

Snapshots of the abstract syntax model will have been constructed and used to validate its correctness.

 <<topic-Snapshots是有效的技术,但不是完全的技术 >>

 The semantics will still be informally defined. However, there may be more in the way of analysis of the language semantics.

 Level 3 The abstract syntax model will be completely tried and tested.

 <<topic-使用什么方法测试抽象语法模型,可以用model check >>

 Concrete syntax will have been defined for the language, but will only have been partially formalised. Typically, the concrete syntax will be described in terms of informal examples of the concrete syntax, as opposed to a precise concrete syntax model.

Some consideration will have been given to the extensibility of the language architecture, but it will not be formalised or tested.

 Level 4 At level 4,

the concrete syntax of the language will have been formalised and tested.

Users will be able to create models either visually and textually and check that they result in a valid instance of the abstract syntax model.

 <<?2- level 1~4,无法运行模型,因为没有定义模型的完全的运行规范,(level4 只定义了create modelcheck result is a valid instance of abstract syntax? 也就是说它目前还不是executable? >>

 The language architecture will have been refactored to facilitate reuse and extensibility.

Models of semantics will have begun to appear.

 Level 5 This is the topmost level.

All aspects of the language will have been modelled, including its semantics.

The semantic model will be executable, enabling users of the language to perform semantically rich operations on models written in the language, such as simulation, evaluation and execution.

 <<?2- 语义规范主要是规定如何解释和运行相应的模型 >>

 The language architecture will support good levels of reuse, it will have been proven to do so through real examples.

 Critically, the completed metamodel will not be reliant on any external technology - it will be a fully platform independent and

self contained definition of the language that can be used ‘as is’ to generate or instantiate tools.

 <<?2- what does “the completed metamodel will not be reliant on any externel tech” mean?, Does it mean that the platfrom independent and complete metamodel define a whole specification (including static & dynamic aspects) of the target language, but we still need a VM to run the specification? >>

 现实情况

Most of the metamodels we have seen do not achieve a level greater than 2.

Even international standards such as UML do not exceed level 3.

Yet, reaching level 5 must be an aspiration for all language developers.

posted on 2004-11-07 00:58  阿飞外传  阅读(1228)  评论(0)    收藏  举报

导航