Core Infrastructure Metamodel for DSLs [message #540490] |
Wed, 16 June 2010 11:49  |
|
Dear all,
I'm looking for the Core metamodel described in the UML 2 Infrastructure document at OMG. I want extend it to define a new DSL. This DSL will be "weaved" with UML using the AMMA platform. In particular I need a "Core.ecore" metamodel or something similar that can be automatically transformed into .ecore (in order to integrate it in AMMA).
Thanks in advance.
Luca
|
|
|
|
Re: Core Infrastructure Metamodel for DSLs [message #540583 is a reply to message #540558] |
Wed, 16 June 2010 14:55  |
|
Ed,
first of all thanks for your "real-time" reply.
I try to clarify what I'm doing. I want to define the metamodel for a DSL including some particular structural features (maybe some behavioral one). I'm planning to weave it with a UML model suitably extended with several profiles.
In order to facilitate the mapping between the DSL and UML I would reuse the Core::Abstraction and/or Core::Basic packages described in the UML Infrastructure (as suggested by the authors of the UML Infrastracture). I supposed that somewhere online I could find a .ecore specification of these packages but I failed.
Actually I've decided to reduce the UML Kernel from uml.ecore.
At first I decided to follow the Core::[X] specification to do everything by scratch but it is time-expensive and, above all, I don't know how to deal with "Subset Properties" in EMF.
I supposed to use Core::[X] as a kernel and adopt a "positive approach" by adding via specialization new metaclasses for my DSL. Instead I'm feeling "forced" to apply a "negative approach" by removing the surplus from the UML Metamodel.
The other possibility can be the use of Ecore.ecore and apply the "positive approach". Anyway in the first case I'm working always at level M2 whereas it seem strange (but legal!) to me reuse and extend Ecore (M3) for defining new metamodels (M2).
Luca Berardinelli
|
|
|
Re: Core Infrastructure Metamodel for DSLs [message #619730 is a reply to message #540558] |
Wed, 16 June 2010 14:55  |
|
Ed,
first of all thanks for your "real-time" reply.
I try to clarify what I'm doing. I want to define the metamodel for a DSL including some particular structural features (maybe some behavioral one). I'm planning to weave it with a UML model suitably extended with several profiles.
In order to facilitate the mapping between the DSL and UML I would reuse the Core::Abstraction and/or Core::Basic packages described in the UML Infrastructure (as suggested by the authors of the UML Infrastracture). I supposed that somewhere online I could find a .ecore specification of these packages but I failed.
Actually I've decided to reduce the UML Kernel from uml.ecore.
At first I decided to follow the Core::[X] specification to do everything by scratch but it is time-expensive and, above all, I don't know how to deal with "Subset Properties" in EMF.
I supposed to use Core::[X] as a kernel and adopt a "positive approach" by adding via specialization new metaclasses for my DSL. Instead I'm feeling "forced" to apply a "negative approach" by removing the surplus from the UML Metamodel.
The other possibility can be the use of Ecore.ecore and apply the "positive approach". Anyway in the first case I'm working always at level M2 whereas it seem strange (but legal!) to me reuse and extend Ecore (M3) for defining new metamodels (M2).
Luca Berardinelli
Luca Berardinelli
|
|
|
Powered by
FUDForum. Page generated in 0.02163 seconds