AOM Core Discussion
description
Transcript of AOM Core Discussion
![Page 1: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/1.jpg)
AOM Core Discussion
UML/Models 2005Workshop 7: “Aspect Oriented Modeling”
Jörn Guy Süß,Research Officer
04/21/23
![Page 2: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/2.jpg)
AOM Core
![Page 3: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/3.jpg)
What is an aspect?
![Page 4: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/4.jpg)
You don not really know what aspects do
• “Solves one problem, but in another situation creates craps”
![Page 5: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/5.jpg)
What if you have model with 200+ classes
![Page 6: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/6.jpg)
Trivial examples...
• Logging standard example – yawn…• Easily scalable for a large application• Real program models
– Not available
– Functional crosscuting concerns hard to find
– Different granularities you can look at aspects
![Page 7: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/7.jpg)
Works in the small only
• Conflicting aspects– “Would not like to log confidential information”
– Composition is problematic because of interrelations between aspects easy to break the structure by removing aspect
– Analyse and verify agasint requirements
• Impacts on other aspects– Order of aspects
![Page 8: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/8.jpg)
Common Core Metamodel needed to scale
• Something as base to compare different models• Should UML be base notation or something more simpler?
– UML is missing possibilities to express relationships between the models– One needs AML– Unified type space to have one tool for UML and aspects– UML ->CWM; CWM -> UML– Class based models should be base
• MOF is just class diagrams– You draw your class diagram– Generate your stuff– Glue GUI on top of generated– Allows to define structure, signatures of operations
• No way to specify how to execute it• Methods, and then text for what methods actually do
![Page 9: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/9.jpg)
Assembly process of aspects required
• Takes care of fact that we are not using the same definition of aspect
• Integration of approaches wont work as people wont agree what aspect is– Not the problem different terminology but lack of catalogue
• For reasons of traceability
– People wont useone megalanguage
• Reuse– So far case studies dont show reuse as you need more– Need to educate students from very first days– Root commonality required
• For example benefits of design patters
– Doest happen on the abstract, metamodel required
![Page 10: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/10.jpg)
Tools
![Page 11: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/11.jpg)
Tool vendors lock you in.
• Need to get stuff out of modelling tool and do it externally
• Hard to extend tools
![Page 12: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/12.jpg)
Work with single model at a time
• Need to look at aspect and primary model at the same time. Relationships between models required.
• Lot of mental work still needed
![Page 13: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/13.jpg)
Tools for defining model transformations exist
• Tefkat – The engine formerly known as Tarzan(a DSTC eclipse plugin)
• For example from class model to ERM • Target model as the view of the source model• Those things have very little publicity
![Page 14: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/14.jpg)
What decisions are human decisions and where can you start automatic choices?
![Page 15: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/15.jpg)
Restrain the Aspect?
![Page 16: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/16.jpg)
Components vs. Aspects
• Components did promise"Buy your facility to have concern X managed“ Failed
• Will Aspects deliver?• Yes! Aspects are very flexible• No! Aspects are so flexible as too be useless in
application
![Page 17: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/17.jpg)
The Two sides "(Gregor Kiczales)
• Yes!– Teaching students
– Distributing work
– Runtime Properties, NFPs
• No!What happens "when tomorrow comes
![Page 18: AOM Core Discussion](https://reader034.fdocuments.us/reader034/viewer/2022051001/56814e93550346895dbc3ca6/html5/thumbnails/18.jpg)
Why AOM is great! (for industry!)