Title: Shiny New Languages for AOM
1Shiny New Languages for AOM?
Jeff Gray
MODELS 2007 Panel The Future of Aspect Modeling
Will MDE Absorb it?
2Robert Floyd The Paradigms of Programming
- To the designer of modeling languages, I say
- Unless you can support the paradigms I use when
I model, or at least support my extending your
language into one that does support my modeling
methods, I dont need your shiny new languages - To persuade me of the merit of your language, you
must show me how to construct models in it.
1978 Turing Award Lecture
Original focus on programming quote modified to
modeling.
3Case Study Solved with Aspect-Oriented
ModelingCrosscutting Constraints in
Real-Time/Embedded Models
IEEE Computer, February 2006
4Doesnt it just involve a specific kind of
modeling?
- Elaborationists versus Translationists
- Some view AOM as just a bunch of notations with
little or no tool support - AOM as a noun
- Often interested in traceability concerns to code
- Opinion Majority view
- Others view AOM as a means toward improving the
modeling process itself, with model weavers
integrated into a modeling tool - View aspect modeling as a form of model
transformation - AOM as a verb
- Opinion Offers best opportunities for AOM
- different meanings to the term
A summary of these views is presented in
(Cottenier et al., MODELS AOM Workshop, 2006).
5Current AOM Focus Tilted toward General-Purpose
Languages
- After 6 years and 11 AOM Workshops
- Growth (depth) and application (breadth)
unimpressive - Most papers describe a general-purpose aspect
language for a general-purpose modeling language - Number of papers specific to UML and
general-purpose descriptions at last four AOM
workshops - 2006-AOSD 8 of 8
- 2006-MODELS 7 of 10
- 2007-AOSD 7 of 8
- 2007-MODELS 6 of 7
- See http//www.aspect-modeling.org/
6Expanding the purview of AOM
- At the code level, DSALs are gaining more
interest (original focus of AOP) - Very little investigation into the combinations
of DSAL, GPALxDSML, GPML at modeling level - Are there benefits in expanding the
general-purpose view at both levels?
7Does it just involve a special kind of model
transformation?
- Consider a view that treats a transformation
language/engine as machine code to realize
higher level concern transformation in a separate
language - At the code level
FOP
AOP
Higher level Descriptions
Code Refactoring Browser
Concern Translator
Program Transformation Engine (e.g., DMS,
ASFSDF, TXL)
Lower level Mechanisms
8Does it just involve a special kind of model
transformation?
FOM
AOM
Higher level Descriptions
Model Refactoring Browser
Model Compositor
Model Transformation Engine (e.g., ATL, VIATRA2,
C-SAW, GReAT, ATOM3)
Lower level Mechanisms
- Some observations
- AOM is a type of MT, but most end-users would not
want to use a MT engine directly - Layering an aspect modeling language on top of an
MT engine provides an opportunity for improved
abstraction in the intent of the aspect
description
9Will MDE absorb AOSD in the end?
- May depend on which camp you live in
- Elaborationist/Translationist
- Robert Floyds Plea
- Extensions to incorporate desired paradigms
- If you believe Everything is a Model
- No need for aspects and weavers at the code level
- code generation from the model can generate all
crosscutting concerns i.e., aspect weaver built
into codegen