1 / 13

Introduction

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 …

bobby
Download Presentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  10. 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?

  11. Aspect-oriented Paradigm: FDAF FDAF Step One: Extend DNS architecture design with data origin authentication aspect

  12. Aspect-oriented Paradigm: FDAF FDAF Step One: Extend DNS architecture design with data origin authentication aspect (cont.)

  13. 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?

More Related