XAFIT provides a runtime environment for AF-RDL scripts Instantiation process inputs AF-RDL scripts Framework model in AF-UML Application developer inputs.

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
SERL - Software Engineering Research Labslide1 Frameworks and Hooks by Garry Froehlich Paul Sorenson SERL (Software Engineering Research Lab)
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
Design Patterns CS is not simply about programming
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. WSMX Data Mediation Adrian Mocan
Sangam: A Transformation Modeling Framework Kajal T. Claypool (U Mass Lowell) and Elke A. Rundensteiner (WPI)
Course Instructor: Aisha Azeem
UML class diagrams and XML schemas Karl Lieberherr UBS AG Northeastern University.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
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
Introduction To System Analysis and design
Software Engineering Muhammad Fahad Khan
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Xactium xDSLs Run Models Not Code Tony Clark
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Introduction to MDA (Model Driven Architecture) CYT.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
1 Metamodel Access Protocols for Extensible Aspect-Oriented Modeling Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Shinji Sano(Kyushu Institute.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Selected Topics in Software Engineering - Distributed Software Development.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A Meta-Level Specification and Profile for AspectJ in UML Joerg Evermann School of Information Management Victoria University of Wellington.
Systems Analysis and Design in a Changing World, 3rd Edition
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
TRANSPARENT EXTENSION OF SINGLE- USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration ICEIS.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Compiling SVG: How and Why Michael Levy, Quetzalcoatl Bradley and Calin Somosan NewHeights Software Corporation.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
© 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.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Lab 5 CPIT 250 System Analysis and Design.
Concern Architecture View and Aspect-Oriented Design Mika Katara and Shmuel Katz Tampere U. T. Technion, Haifa.
AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
An approach for Integration of Aspect Orientation and Model- Driven Engineering using Aspect- Oriented Code Generation Presenter: Abid Mehmood Advisor:
The Object-Oriented Thought Process Chapter 1
Object-Orientated Programming
Constructing MDA-based Application Using Rational XDE for .NET
Execute your Processes
Implementing FOP Framework
Software Architecture & Design
Presentation transcript:

xAFIT provides a runtime environment for AF-RDL scripts Instantiation process inputs AF-RDL scripts Framework model in AF-UML Application developer inputs Instantiation process output Application model in AF-UML (without annotations) The approach takes advantage of XQuery to perform transformations over serialized models (e.g. XMI)  Traditional OO abstractions fail to modularize crosscutting concerns  Yet, such concerns may expose hotspots (e.g. persistence)  Hotspots of the same concern are not localized, hence are hard to identify and instantiate  Aspects allow for a clean separation of concerns in AO Frameworks AO Frameworks are Moving to Mainstream Assisting Aspect-Oriented Framework Instantiation Towards Modeling, Transformation and Tool Support Marcilio Mendonca, Paulo Alencar, Toacy Oliveira, Donald Cowan {marcilio, palencar, OOPSLA 2005 Poster Session An approach to aspect-oriented framework instantiation based on modeling, transformation and tool support. AOF Instantiation – A Case Study: CSGDrawing Editor (An Aspect-Oriented Drawing Editor Framework) Representing Instantiation Steps Our process language (AF-RDL) allows framework developers to represent instantiation steps explicitly Sample Instantiation Unit IUNIT myInstantiationUnit ITASK myInstantiationTask … call R1(… ); … ITASK_END ITASK R1(…) call_pattern P1(…); ITASK_END … IUNIT_END Main Instantiation Commands extend_class(superclass, subclass) extend_class(superclass) extend_method(superclass, subclass, method) extend_aspect(superaspect, subaspect) extend_aspect_method(superaspect, subaspect, method) extend_aspect_pointcut(superaspect, subaspect, pointcut ) Types: Class, Aspect, Method, Attribute, Pointcut, Boolean, Number, String, Package Sample Pattern Library PATTERN_LIBRARY myPatternLib PATTERN Observer(…) … END_PATTERN PATTERN AbstractFactory(…) … END_PATTERN … END_PATTERN_LIBRARY Modeling AO Frameworks Supporting Automation But Instantiation is still Complex Lack of Documentation Approaches for AOFs  Current Modeling Languages are either: UML Profiles for Aspect-Oriented Systems (e.g. aSideUML, Theme/UML) UML Profiles for Object-Oriented Frameworks (e.g. UML-F, UML-FI) There is no standard way to represent instantiation steps across AOF projects  Every new framework project may also imply new strategies and approaches for application generation  Instantiation steps may be hidden and hard to maintain (e.g. hardcoded in application generators) Automation of AOF instantiation is needed  Lack of automated tools supporting aspect-oriented concepts  Aspects are not considered as first-class citizens Model Transformation can be Helpful  Framework Instantiation: semi-complete  complete model transformation  Model transformation is a trend (e.g. Model-Driven Architecture)  In MDA, models can be serialized to XML (e.g. XMI specification)  Our approach uses XQuery to transform serialized models (e.g. XMI) Next Steps AF-UML extends UML to support Frameworks and Aspect-Oriented concepts (e.g. aspects, variability) – Aspect Diagram AF-UML = UML + Aspect + Frameworks Components of Our Approach: Modeling Language: AF-UML Process Language: AF-RDL CASE Tool (transformation): xAFIT xAFIT = AF-RDL → xQuery AF-RDL = Instantiation Commands Our Approach to AO Framework Instantiation Mandatory Class and Method Extension Select One Subclass Mandatory Aspect, Method, and Pointcut Extension Graphical Interface AF-RDL ParserXQuery EngineXMI Handler xAFIT System Facade ParserTransformation EngineModel Handler List of Variabilities VariabilityExtension Mechanism The Figure objects that should notify the Display about state changes Pointcut Extension The shapes (e.g., Circle, Square) Class Extension The drawing, enlarging and shrinking algorithms for the shapes Method Extension The set of shapes that will be part of the drawing Method Extension The drawing algorithmMethod Extension The Display response algorithm to Figure resizing Aspect Method Extension IUnit CSGDEFramework // Instantiation Unit ITask Main // Instantiation Task myShape : CLASS; myDrawer: CLASS; myObserverAsp : ASPECT; loop myShape = extend_class(“Figure”, ?); extend_method(“Figure”, myShape, “draw”); extend_method(“Figure”, myShape,”enlarge”); extend_method(“Figure”, myShape,”shrink”); loop_end myDrawer = extend_class(“Drawer”, ?); extend_method(“Drawer”, myDrawer, “createFigures”); extend_method(“Drawer”, myDrawer, “draw”); myObserverAsp = extend_aspect(“DEObserverAspect”,?); extend_aspect_method(“DEObserverPattern”, myObserverAsp, “updateObserver”); extend_aspect_pointcut(“DEObserverPattern”, myObserverAsp, “Subject.notifyObservers”); ITask_END IUnit_END AF-RDL Script (Instantiation Steps)AF-UML Framework Aspect Diagram Define a graphical model to represent instantiation steps (Instantiation Model). Link its elements to AF-UML. Integrate feature models to our approach Refine the AF-UML modeling language xAFIT Architecture Overview AF-UML Application Aspect Diagram (Without Annotations) XQuery Transformation Framework Model Serialized (e.g. XMI) Application Model Serialized (e.g. XMI) Variability Model (e.g. Feature Model)