Upload
thomas-reeves
View
213
Download
1
Embed Size (px)
Citation preview
Introduction
Better Faster Cheaper(pick any two)
• On-going issue that continues to motivate research in software engineering
• Applications:– continue to increase in size and complexity– need to be deployed quickly– maintenance can be ~40% of the development cost– …
• Re-use approaches proposed as solutions
Software Engineering Discipline
• Current Issues?– “tyranny of decomposition” problem– Improve re-use of components– Support “mass customization” of software– Architectures for Dynamic Adaptable Systems– …
• Active research area– Upcoming Architecture Events page maintained by the
SEI currently lists 14 conference workshop events/special issues
– http://www.sei.cmu.edu/architecture/events.html
• Different paradigms share common themes– Definition of re-usable “chunks”
• Agents in agent-oriented development• Aspects in aspect-oriented development• Services in service-oriented development• Core assets in product line development• …
– Communication among the “chunks”– Composition of the “chunks”– Use of repositories to organize/store the “chunks”
– Visual modeling for improved communication • Note. There are UML extensions available for a wide variety of
recent paradigms– UML for aspects– UML for services– UML for agents– …
– Tool support• Research/experimental tools vary widely in maturity
(documentation, robustness, completeness)
Some things to look for…(or look out for)
A posting to consider…
…in time we will construct reusable components and many architectures and someone will ask for such a system, performance, money then integrators will decide on the components and the hardware – see u bye
Up to that time we will read, research and invent "x-orienteds" every day..... x may be : object, aspect, service …
maybe i should write a methodology Tolga-oriented software development :)
Tolga Erdoðan
Adapted from posting on [email protected] March 16/08
Aspect-oriented Paradigm: Issues
• Introductions to the aspect-oriented paradigm are at:
http://www.info.ucl.ac.be/~jbrichau/courses/introductionToAOSD.pdf
http://www.slideshare.net/jignesh/aspect-oriented-software-development
• Traditional modularization mechanisms suffer from a limitation called the tyranny of the dominant decomposition– the system can be modularized in only one way at a time– concerns that do not align with that modularization end up
scattered across many modules and tangled with one another• -> Higher coupling, lower cohesion
Aspect-oriented Paradigm: Issues
• Aspects have been proposed as a solution to the problem
– New entity to encapsulate a (crosscutting) concern
– Aspects have:• Pointcuts - provide the definitions of where and how an
aspect will cut into the design. • Advice - provide functionality when the aspect is invoked.
Aspect-oriented Paradigm
• Started at the programming language level– Aspect-oriented programming (AOP)– AspectJ, HyperJ, AspectC++, …
• Aspect-oriented modelling (AOM) followed– Architecture, Design, and Requirements– UML has been used/extended by a number of researchers
for our needs (architecture, design)• Some people argue that extensions are not needed; others argue
they are needed• Of the UML extension mechanisms used, stereotype extensions are
the most straightforward <<some aspect>>
Aspect-oriented Paradigm
• This is an active community – Annual conference and journal
• International Conference on Aspect-Oriented Software Development AOSD (http://www.aosd.net/2011/)
• Transactions on AOSD
• Comprehensive surveys are available:For example http://www.aosd-europe.net/deliverables/d11.pdf
This survey report is cited by many; however note the date (2005).
Aspect-Oriented DesignObject-Oriented Design
Problem Statements
Aspects added one at a time
Security Adaptability
Advantages: Tangling aspects handled separately, Dramatically reduce the complexity of understanding, change, and analysis,
promoting reusability
…
Module 1
Problem Statements
Module 1
weaver
Final Design
Problem: lower cohesion, higher coupling, maybe significant re-work when facing changes
Final Design
Security
Performance
Adaptability
Aspect-oriented Paradigm: Issues
Aspect-oriented Paradigm: Architecture/Design
• What would an aspect-oriented architecture/design look like?
• It depends…• Let’s take a look at a couple of examples
1. UML-AOF
http://www.aspect-modeling.org/aosd09/papers/aom1s-uetanabara.pdf
2. UML Formal design analysis framework
3. ADL?
D N S Clie n t
+ S e n d Q u e s t io n () : v o id+ A n s w e rA rriv e d () : v o id- P ro c e s s A n s w e r() : v o id
M e s s e n g e r
+ Clie n tQ u e s t io n A rriv e d (.) : v o id+ S e rv e rA n s w e rA rriv e d () : v o id+ S e n d Clie n tA n s w e r() : v o id+ S e n d S e rv e rQ u e s t io n () :v o id+ F o rw a rd Q u e s t io n () : v o id+ F o rw a rd A n s w e r() : v o id+ Clie n tQ u e s t io n A n s w e re d () : v o id+ S e rv e rQ u e s t io n Ge n e ra te d () :v o id
D a ta Re fre s h e r
+Re fre s h A n s w e rA rriv e d () : v o id-Re fre s h D a ta () : v o id
Q u e ry P ro c e s s o r
+Q u e s t io n P e n d in g () :v o id-D e c o d e M e s s a g e (): v o id
-En c o d e M e s s a g e () : v o id+P a s s A n s w e r() : v o id
D a ta b a s e
Re q u e s tGe n e ra to r
+Re fre s h M o n ito rO ff():v o id+Ge n e ra te Re q u e s t (): v o id
Re fre s h M o n ito r
-Re a d y ():v o id+T ime rO ff(): v o id
re fre s h me s s a g e
q u e ry
s e a rc h e s
re fre s h e s
mo n ito rs
t ime r o ff
C lie n t
S e rv e r
-In it ia lize ():v o id
-S e a rc h A n s w e r():v o id
S tatic M o d e l
Ge n e ra te K e y ()D is t rib u te K e y ()
En c ry p tD a ta ()
D O A A s p e c t
D O A A s p e c tD e c ry p tD a ta ()
D N S Clie n t
+ S e n d Q u e s t io n () : v o id+ A n s w e rA rriv e d () : v o id
M e s s e n g e r
+ Clie n tQ u e s t io n A rriv e d (.) : v o id+ S e rv e rA n s w e rA rriv e d () : v o id+ S e n d Clie n tA n s w e r() : v o id+ S e n d S e rv e rQ u e s t io n () :v o id+ F o rw a rd Q u e s t io n () : v o id+ F o rw a rd A n s w e r() : v o id+ Clie n tQ u e s t io n A n s w e re d () : v o id+ S e rv e rQ u e s t io n Ge n e ra te d () :v o id
D a ta Re fre s h e r
+ Re fre s h A n s w e rA rriv e d () : v o id-Re fre s h D a ta () : v o id
Q u e ry P ro c e s s o r
+ Q u e s t io n P e n d in g () :v o id-D e c o d e M e s s a g e (): v o id
-En c o d e M e s s a g e () : v o id+ P a s s A n s w e r() : v o id
D a ta b a s e
Re q u e s tGe n e ra to r
+ Re fre s h M o n ito rO ff():v o id+ Ge n e ra te Re q u e s t (): v o id
Re fre s h M o n ito r
-Re a d y ():v o id+ T ime rO ff(): v o id
re fre s h me s s a g e
q u e ry
s e a rc h e s
re fre s h e s
mo n ito rs
t ime r o ff
C lie n t
S e rv e r
-In it ia lize ():v o id
-S e a rc h A n s w e r():v o id
< < a f te r> >
Re t rie v e S IG()D O A As p ec t
< < a f te r> >
< < a f te r> >
- P ro c e s s A n s w e r() : v o id
e xe c u t io n
e xe c u t io n
e xe c u t io n
Stat i c M o de l
FDAF Step One:
Extend DNS architecture design with data origin authentication aspect
Aspect-oriented Paradigm: FDAF
DN
SC
lien
tM
es
se
ng
er
Qu
ery
Pro
ce
ss
orR
eq
ue
stG
en
era
torRe
fre
sh
Mo
nit
otr D
ata
Re
fre
sh
er
Da
tab
as
e
S e n d Q u e s t io n A n s w e rA rriv e d
Clie n tQ u e s t io n A n s w e re d
S e rv e rQ u e s t io n Ge n e ra te d
S e rv e rA n s w e rA rriv e d
Clie n tQ u e s t io n A rriv e d F o rw a rd Q u e s t io n
F o rw a rd A n s w e r
S e n d Clie n tA n s w e r
S e n d S e rv e rQ u e s t io n
Q u e s t io n P e n d in g D e c o d e M e s s a g e
S e a rc h A n s w e r En c o d e M e s s a g e
P a s s A n s w e r
Re fre s h M o n ito rO ff Ge n e ra te Re q u e s t
Re a d y T ime rO ff
Re fre s h A n s w e rA rriv e d Re fre s h D a ta
I n it ia lize
P ro c e s s A n s w e r
D ynam i c M o de l
FDAF Step One: Extend DNS architecture design with data origin authentication aspect (cont.)
DN
SC
lien
tM
es
se
ng
er
Qu
ery
Pro
ce
ss
or
Re
qu
es
tGe
ne
rato
rR
efr
es
hM
on
ito
trDa
taR
efr
es
he
rD
ata
ba
se
S e n d Q u e s t io n A n s w e rA rriv e d
Clie n tQ u e s t io n A n s w e re d
S e rv e rQ u e s t io n Ge n e ra te d
S e rv e rA n s w e rA rriv e d
Clie n tQ u e s t io n A rriv e d F o rw a rd Q u e s t io n
F o rw a rd A n s w e r
S e n d Clie n tA n s w e r
S e n d S e rv e rQ u e s t io n
Q u e s t io n P e n d in g D e c o d e M e s s a g e
S e a rc h A n s w e r
En c o d e M e s s a g e
P a s s A n s w e r
Re fre s h M o n ito rO ff Ge n e ra te Re q u e s t
Re a d y T ime rO ff
Re fre s h A n s w e rA rriv e d Re fre s h D a ta
I n it ia lize
P ro c e s s A n s w e r
Re t rie v e S IG
Ge n e ra te K e y D is t rib u te K e y En c ry p tD a ta
Q u e s t io n A n s w e r
Q u e s t io n
Q u e s t io n
Q u e s t io n
A n s w e r
A n s w e r
D e c ry p tD a ta
D ynam i c M o de l
Aspect-oriented Paradigm: FDAF
Project Management?
• Maintainability of the software is key focus for the aspect-oriented research community
• Question: How does adopting this paradigm this impact the PM?