40 likes | 178 Vues
This discussion group focused on various model-driven development (MDD) topics, including weaving on a model level versus generating aspect-oriented (AO) code, the necessity of fully specified models, and the independence of action semantics across platforms. Key debates included the need for AO platform-specific models (PSMs), the lack of clear differentiation between PIM and PSM, and the role of model transformation in implementing model weaving. The group also examined correctness in composition after weaving and explored advanced techniques for expressing pointcuts.
E N D
Model-Driven Development Discussion Group
Discussed Topics (1) • Weaving on model level vs. generating AO code • Model needs to be fully specified (all behavior must be added) • Action Semantics are platform independent (several target languages) • Generating aspects as aspect library • Keeping the separation at the implementation level • Do we need AO PSMs (e.g. modeling AspectJ aspects)? • No clear separation between PIM and PSM • MDD is a chain of model refinements • Makes implementation of code generator easier • You can link PIM to code and hide PSM • It can help to remark some implementation hidden feature
Discussed Topics (2) • Relationship between model transformation and model weaving • Model weaving is a special kind of model transformation • Model weaving is model transformation with special properties • Model transformation can help to implement model weaver but a model weaver is not a unique model transformation • Simulating a model should be performed without involving implementation detail not known or familiar to the modeling community • Ensuring correctness of the composition • Community lacks methods for ensuring the correctness of the composition after weaving • Look at the work of the problem of object-oriented programs (overriding, multiple inheritance)
Discussed Topics (3) • Exploit quantification at the hierarchy tree • Complex pattern matching in the pointcuts are motivated by a bad structure in the base program • How to express pointcuts? • OCL provides high level selection features, does not require use of wildcards • JPDDs provide visualization • XPath/XQuery