18
AOM Core Discussion UML/Models 2005 Workshop 7: “Aspect Oriented Modeling” Jörn Guy Süß, Research Officer 05/11/22

AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

Embed Size (px)

DESCRIPTION

What is an aspect?

Citation preview

Page 1: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

AOM Core Discussion

UML/Models 2005Workshop 7: “Aspect Oriented Modeling”

Jörn Guy Süß,Research Officer

05/05/23

Page 2: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

AOM Core

Page 3: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

What is an aspect?

Page 4: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

You don not really know what aspects do

• “Solves one problem, but in another situation creates craps”

Page 5: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

What if you have model with 200+ classes

Page 6: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

Tools

Page 11: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

What decisions are human decisions and where can you start automatic choices?

Page 15: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

Restrain the Aspect?

Page 16: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

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 UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

The Two sides "(Gregor Kiczales)

• Yes!– Teaching students– Distributing work– Runtime Properties, NFPs

• No!What happens "when tomorrow comes

Page 18: AOM Core Discussion UML/Models 2005 Workshop 7: Aspect Oriented Modeling Jrn Guy S, Research Officer 2/20/2016

Why AOM is great! (for industry!)