13
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

Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

Embed Size (px)

Citation preview

Page 1: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 2: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 3: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

• 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)

Page 4: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 5: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 6: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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.

Page 7: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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>>

Page 8: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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).

Page 9: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 10: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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?

Page 11: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 12: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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

Page 13: Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to

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?