130 likes | 199 Views
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 …
E N D
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
Some things to look for…(or look out for) • 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)
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 byeUp 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 Requirements-Engineering@yahoogroups.com 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 Paradigm: Issues Object-Oriented Design Aspect-Oriented Design Module 1 Module 1 Security Performance Security Adaptability Adaptability Final Design weaver Problem: lower cohesion, higher coupling, maybe significant re-work when facing changes Final Design Advantages: Tangling aspects handled separately, Dramatically reduce the complexity of understanding, change, and analysis, promoting reusability Problem Statements Problem Statements Aspects added one at a time … 9
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 • UML-AOF http://www.aspect-modeling.org/aosd09/papers/aom1s-uetanabara.pdf • UML Formal design analysis framework • ADL?
Aspect-oriented Paradigm: FDAF FDAF Step One: Extend DNS architecture design with data origin authentication aspect
Aspect-oriented Paradigm: FDAF FDAF Step One: Extend DNS architecture design with data origin authentication aspect (cont.)
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?