Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Architecture Representation
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Towards a Generic Aspect Oriented Design Process Andrew Jackson, Siobhán Clarke Distributed Systems Group Trinity College Dublin.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
Theme UML Extending UML to treat aspects Presented by Moran Birenbaum.
Aspect-Oriented Software Development (236608) 1 Aspect-Oriented Software Development (AOSD) Tutorial #1 Course site :
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Software Architecture in Practice (3rd Ed) Introduction
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Design Patterns.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Introduction to Object-oriented programming and software development Lecture 1.
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
An Introduction to Software Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
Generative Programming. Automated Assembly Lines.
A Meta-Level Specification and Profile for AspectJ in UML Joerg Evermann School of Information Management Victoria University of Wellington.
A language to describe software texture in abstract design models and implementation.
Design Rules for Increasing Modularity with CaesarJ Carlos Eduardo Pontual Advisor: Paulo Borba 17/06/2010.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
TRANSPARENT EXTENSION OF SINGLE- USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration ICEIS.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
Aspect-Oriented Action Semantics Descriptions Luis Menezes University of Pernambuco
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Architectural Styles, Design Patterns, and Objects Joe Paulowskey.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
AOP/cross-cutting What is an aspect?. An aspect is a modular unit that cross-cuts other modular units. What means cross-cutting? Apply AOP to AOP. Tease.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Design Patterns: MORE Examples
Software Design and Architecture
Implementing Language Extensions with Model Transformations
Architecture Description Languages
An Introduction to Software Architecture
AspectAda Aspect-Oriented Programming for Ada95
Implementing Language Extensions with Model Transformations
Presentation transcript:

Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga AOSD Brussels, April 2008

April, 2008 AOSD 2 Agenda Problem Specification Aspect Oriented ADLs Solution Specification AO-ADL AO-ADL Decomposition Model AO-ADL Composition Model Conclusions

April, 2008 AOSD 3 Problem Specification: Aspect-Oriented ADLs Separation, Representation and Composition of crosscutting concerns at the early stages of the development Specially, the specification of crosscutting concerns at architecture level using ADLs Is not enough with the traditional ADLs We can incorporate specific elements or not The alternatives are based on the decomposition model and the composition model

April, 2008 AOSD 4 Solution Specification: AO-ADL AO-ADL is an aspect-oriented architecture description language The main contributions of AO-ADL are two: Symmetric decomposition model Extension of the semantic of connectors with aspectual composition information We specially focus on: Aspectual compositions Reutilization of connectors through the definition of Connector Templates

April, 2008 AOSD 5 AO-ADL Decomposition and Composition model Decomposition Model: Symmetric Components model crosscutting (aspectual component) and non-crosscutting behavior (base component) A component is considered an aspect when it participates in an aspectual interaction Composition Model: Crosscutting relationships in connectors Provide support to describe different kinds of interactions Typical communication Crosscutting influence Specify how ’aspectual’ components are weaved with ’base’ components during components’ communication.

April, 2008 AOSD 6 Solution Specification: AO-ADL Decomposition Model Decomposition Model: Symmetric Advantages Increases the reusability of components, which may play an aspectual or non-aspectual role depending on the particular interactions in which they participate AO-ADL explicitly and homogenously represents the dependencies of both ’aspectual’ and ’base’ components, by means of its provided and required interfaces The modularity of components is improved, solving the tangled and the scattered behavior problem earlier, at the architectural level

April, 2008 AOSD 7 Solution Specification: AO-ADL Composition Model Composition Model: Crosscutting relationships in connectors Advantages The traditional structure of ADLs is maintained even in the presence of crosscutting behaviors All the composition relationships are homogeneously modeled using the same building block The pointcut specification is not part of the ’aspectual’ component definition, but part of the connector aspectual binding specification Helps to localize in the same architectural block all aspect- oriented information The use of quantifications help to model more generic and reusable connectors

April, 2008 AOSD 8 AO-ADL Tool Suite Features It has been developed as an Eclipse plug-in Provides support to manage the repository of Components and Connectors (C&C Repository) Creation, modification and deletion of AO-ADL elements Definition and Instantiation of Connector Templates Transformation of AO-ADL elements to Theme/UML Validation of AO-ADL elements Search for any AO-ADL element (interfaces, components or connectors) following a search criterion.

April, 2008 AOSD 9 Connector Templates Reutilization of connectors Connector Templates The use of Connector Templates increase the reusability of well-known behavior patterns Through the instantiation process we can reuse the same behavior pattern is several architectures We use JET (Java Emitter Templates) as the language for the parameterization of the connectors: Is a part of an Eclipse project Allows the use of Java code in the parameterization process

April, 2008 AOSD 10 Transformation to Theme/UML Automatic transformation to Theme/UML Mapping defined in collaboration with Trinity College (Dublin), creators of Theme/UML Make easier to continue with the next stage of development process Automatic transformation to Theme/UML It allows transforming concrete elements (a component, a connector) as well as a complete architectures Use MDD technology AO-ADL Model ---- rules ----> Theme/UML Model Transformation rules implemented with ATL (ATLAS Transformation Language) Transformations can be extended to other target models (e.g. plain UML 2.0)

April, 2008 AOSD 11 Conclusions This language is the aspect-oriented integrated ADL of the AOSD-Europe Network Of Excellence on AOSD. Using AO-ADL Crosscutting behaviors (modeled by ’aspectual’ components) can be separated and reused at the architectural level Compositions between ’aspectual’ and ’base’ components (modeled by ’aspectual bindings’ inside connectors) are clearly represented at the architectural level. Behavior patterns can be reused through the definition of connector templates.

April, 2008 AOSD 12 Thank you! Luis Fernández, Mónica Pinto, Lidia Fuentes, Juan A. Valenzuela University of Málaga AO-ADL Tool Suite Update Site CAOSD Group web