AOSD - Enhancing SoC :: INF5120 :: Mansur Ali Abbasi. AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns

Size: px
Start display at page:

Download "AOSD - Enhancing SoC. 07.05.2007 :: INF5120 :: Mansur Ali Abbasi. AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns"

Transcription

1 :: INF5120 :: Mansur Ali Abbasi AOSD - Enhancing SoC AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns 1

2 NB! This lecture leans on conciseness rather than completeness (in contrast to F01-F13) ( That means you should read at least some of the articles referenced by this presentation). 2

3 Learning goals 1. Students must a. have an introductory knowledge of AOSD as an emerging development paradigm (including background/rationale) b. acquire basic understanding of main concepts and terminology of AOP. c. acquire basic understanding of main concepts and terminology of AOM. d. recognize and understand the necessity and applicability for AO analysis and design. 2. Students should a. be able to understand the contents of the articles associated with this lecture. b. be able to connect AO-principles to other parts of the curriculum of INF5120 (especially requirements engineering and architecture). c. be able to outline and describe the essential concepts of mainstream state-of-the-art SoC-mechanisms. 3. Students are NOT expected to a. be able to produce or reverse-engineer system designs utilizing AOP/AOM. b. know historical facts or subtile details of AOSD / AOAD. 3

4 Agenda 1. SoC mechanisms in software development a. SoC a definition b. OO technology / Object thinking c. Enhancements to OO-technology d. Agents and Services e. Model-centric thinking 2. AOSD Aspect-Oriented Software Development a. Motivation b. Introduction c. Aspects d. Benefits 3. AOP - Example a. AspectJ 4. AOM Aspect Oriented Modeling a. AOM in general b. AOMDF Overview c. AOMDF - Interactions d. The Theme Approach 5. Summarizing thoughts a. Summarizing thoughts b. Future 6. References 4

5 Part 1 Separation of Concerns 5

6 1a. Separation of Concerns (SoC) Only available way of effectively structuring one s thoughts. Scientific thinking = apply SoC Apply SoC = to consider in depth only a single aspect of a subject matter in isolation for the sake of the aspect s own consistency, while knowing that one is occupying one s mind with only one among all the aspects of the subject matter, and hence being single- and multi-track- minded at the same time. - Edsger W. Dijkstra Divide and conquer break up into sub-problems, solve them individually and then combine their solutions to form the solution to the larger problem. Core intellectual meta-activity during system analysis and design. SoC-effectiveness is a measure of how good a development paradigm is. (OO-techniques provide better SoC than pre-oo techniques). 6

7 1b. OO technology / Object thinking Recall from lecture F01: A paradigm shift in software development Encapsulation everything to do with a thing in one place! Reuse, polymorphism, interfaces, etc Easier to map real world phenomena to software elements Modularity comprehension complex software systems Only a small step w.r.t. SoC Perfectly possible to design spaghetti -systems using OO Decomposition along a single dimension 7

8 1c. Enhancements to OO (1) OORAM Object Oriented Role Analysis Model Address the shortcomings of Object Orientation Most common OOP languages are actually Class Oriented Role models and model synthesis capture phenomena as descriptions of object collaboration patterns Small per-concern metamodels / recipes for implementing specific concerns Abstractions above object models Derive a system through a synthesis of several role models A precursor for UML (Collaboration diagrams) Core ideas present in most modern software development paradgims 8

9 1c. Enhancements to OO (2) OORAM: 9

10 1c. Enhancements to OO (3) UML and OCL UML: De-facto standard modeling language OCL: Express contraints and rules over object models Enabling technologies for MDE / MDA. Design Patterns / Analysis Patterns Repeatable general solutions for common analysis and design problems Visitor, Observer, Abstract Factory, etc. SoC-guidelines, reduce risk of ending up with intangible systems Collected over time experience Anti-patterns 10

11 1d. Agents and Services (1) Goal-orientation / Capability-Orientation Explosion of network- and Internet-based computing interconnected systems with individual agendas and priorities emergence of need to represent systems in terms of business-goals and services Natural evolution from OO thinking Agent-Based Software Development Agent-based system: System of multiple interacting agents that autonomously pursue individual or common interests based on inherent knowledge and continuous environment sensing. Agents: Smart objects / autonomous entities with beliefs, goals, responsibilities and plans. 11

12 1d. Agents and Services (2) Agent-oriented architecture: 12

13 1d. Agents and Services (3) Agent coordination example Contract Net: 13

14 1d. Agents and Services (4) Services and SOA: Recall F09 and F10! Independent services with well-defined interfaces Loosely coupled, black-box software elements Distributed capabilities and ownership Better SoC with Agents and/or Services Higher abstraction Modularization beyond the object-concept (complementary) More natural translation of requirements into software design Easier to reason about distributed systems Interoperability 14

15 1e. Model-centric thinking (1) Model Driven Engineering / MDA Further mechanization in terms of SoC Shift from code-centric to model-centric development Graphical modeling tools (often domain specific) (Semi-)automation of translation from design to implementation CIM, PIM, PSM, mappings / transformations, and all that J2EE.NET 15

16 1e. Model-centric thinking (2) Automation in software development: Requirements Requirements Requirements Manually implement Manually implement Manually implement High-level spec (functional and nonfunctional) Source in a general-purpose language, e.g., Java or C++ Source in domain-specific language (DSL) Compile (may generate code in Java or C++) Source in domain-specific language (DSL) (may generate code in Java or C++) Compile Compile Compile Compile Implementation Implementation Implementation 16

17 1e. Model-centric thinking (3) Contribution in terms of SoC Higher abstraction Multiple views of a system during design Easier to perform round-trip engineering Models are not just additional documentation artifacts, but they are the actual source Instant feedback through simulation / rapid code generation Metamodelling, domain specific languages Narrowing of the path between requirements and implementation! Better SoC? Yes, clearly! BUT some problems remain unsolved / unaddressed 17

18 Part 2 Aspect-Oriented Software Development 18

19 2a. Motivation (1) Good system architecture Must consider both current and future requirements in order to avoid patchy-looking implementations Problem Requirements have become increasingly complex Pervasive, competing concerns (security, logging, fault tolerance, QoS ) Conventional design and implementation techniques are not enough Only allow SoC along a small / fixed set of dimensions Tyranny of the dominant decomposition Crosscutting concerns Code tangling Code scattering Multidimensional concerns / requirements, but only one-dimensional modularization available in implementation platforms Inevitable tangling and scattering 19

20 2a. Motivation (2) Scattering: Design element to support R1 in many places of OO design Tangling: Single OO design unit has elements for many requirements 20

21 2a. Motivation (3) The pain of crosscutting concerns / features Understanding, analyzing and changing them! Information is distributed Maintaining consistency in the presence of changes is difficult Difficult to consider alternative treatments Lack of attention to crosscutting concerns early in the development cycle can lead to major redesign in later stages of development. 21

22 2a. Motivation (4) The solution Need tools for simultaneous separation of overlapping concerns in multiple dimensions Some temporary solutions to this have been around for a while: Design patterns, mix-in classes, domain-specific solution (EJB frameworks) None address the problem at its roots, still tangling and scattering of crosscutting concerns (tyranny of the dominant decomposition prevails) The real solution breaking the tyranny: Aspect Orientation Aspect: modular unit designed to implement a concern. With respect to a primary / dominant decomposition an aspect is a concern that crosscuts that decomposition. 22

23 2b. Introduction (1) Aspect oriented development 3 main steps Aspectual decomposition: Decompose the requirements, identify crosscutting and common concerns. Separate module-level concerns from crosscutting system-level concerns. Example: core credit card processing, logging, and authentication. Concerns implementation: Implement each concern separately. Example: core credit card processing unit, logging unit, and authentication unit. Aspectual recomposition: Specify recomposition rules by creating modularization units -- aspects. Example: must log each operation's start and completion, each operation must clear authentication before executing business logic. The recomposition process, also known as weaving or integrating, uses this information to compose the final system. 23

24 2c. Aspects (1) System-level crosscutting concerns: Logging Authentication Fault-tolerance Domain-specific crosscutting concerns: Billing Timing Monitoring 24

25 2c. Aspects (2) Implementation level: AOP languages, multidimensional separation of concerns in the implementation platform easier translation from requirements to implementation Analysis and design level: Need to identify aspect early in the development phase AOAD techniques / Aspect Oriented Modeling 25

26 2d. Benefits of AOSD Benefits: Modularized implementation of crosscutting concerns Easier-to-evolve systems Since the aspected modules can be unaware of crosscutting concerns, it's easy to add newer functionality by creating new aspects. Further, when you add new modules to a system, the existing aspects crosscut them, helping create a coherent evolution. Late binding of design decisions An architect can delay making design decisions for future requirements, since (s)he can implement those as separate aspects More reuse of components: Aspects are more loosely-coupled components than objects (no tangling of concerns) 26

27 Part 3 AOP through example 27

28 3a. AspectJ (1) Introduction Most popular AOP implementation, extends Java Compiler (or weaver-compiler ) produces standard Java class files AspectJ program == Java program Supplied with aspect-aware debugger, visualization tools, etc. 28

29 3a. AspectJ (2) 1 overlay onto Java Joinpoint: well-defined point in a program's flow. For example, joinpoints could define calls to specific methods in a class 4 small additions to Java Pointcut: Construct to pick out joinpoints and collect context (values) at those points Advice: Code (additional action) that executes upon meeting certain conditions. For example, an advice could log a message before executing a joinpoint Inter-type declarations ( aka open classes ) Aspect: unit of modularity for behavior that crosscuts. Comprised of advice, inter-type, pointcut, field, constructor and method declarations. 29

30 3a. AspectJ (3) Hello world (base code) Plain old java //HelloWorld.java public class HelloWorld { public static void say(string message){ System.out.println(message); } } public static void saytoperson(string message, String name){ System.out.println(name + ", " + message); } 30

31 3a. AspectJ (4) Manners (aspect code) Aspect Pointcut //MannersAspect.java public aspect MannersAspect { pointcut callsaymessage() : call( public static void HelloWorld.say*(..) ); before() : callsaymessage() { System.out.println("Good day!"); } Joinpoint designation Advice } after() : callsaymessage() { System.out.println("Thank you!"); } 31

32 3a. AspectJ (5) Compiled (woven) program: Good day! will be printed before each message and Thank you! after each message. If we add another method in class HelloWorld that fits the joinpoint designation of the callsaymessage pointcut, the aspect advice will apply there as well: public class HelloWorld { public static void saytogroup(string message, List names){ //call saytoperson for each name in the names-list. } } Note how the base code is totally unaware of being aspected by the manners concern. 32

33 3a. AspectJ (6) Pseudo-example: Telecom setting Base: Call routing and setup logic Aspects: Timing, Logging, Billing, QoS, public class Customer{ } public class Call{ } public abstract class Connection{ } public class Local extends Connection{ } public class LongDistance extends Connection{ } public aspect TimerLog{ } public aspect Timing{ } public aspect Billing{ precedence: Billing, Timing; } Aspect precedency in situations where advice from several aspects affect same joinpoints These are trivial examples, AspectJ can do a lot of neat things More AspectJ-examples at: 33

34 Part 4 Aspect-Oriented Modeling 34

35 4a. AOM in general Fusing AO-concepts and Model Driven Engineering Leveraging the strengths of two great advancements in software development The Theme Approach Theme/Doc (analysis) Theme/UML (design) Partial tool support AOMDF (Aspect Oriented Model Driven Framework) Structural and behavioural AOM, extends UML Automated model compositions of Class diagrams and Sequence diagrams Tools support in near future Design only Many other approaches, but the one s mentioned above are the most mature / complete. The Theme approach is the most known of them all. 35

36 4a. AOM in general (2) Reference Architecture for AOM: 36

37 4b. AOMDF Overview (1) 37

38 4b. AOMDF Overview (2) aspect class model 1 instantiate context-specific aspect class models values used in bindings application domain namespace model element names primary class model values used in bindings aspect class model 1 instantiate context-specific aspect class models composition directives compose composed class model 38

39 4c. AOMDF - Interactions (1) sd AspectModelTest (x:string) : C :D :E ma(x) mb(x) 39

40 4c. AOMDF - Interactions (2) sd ComposedSimpleTagEx :A :D :E :B m1(p,q,r) ma(p) mb(p) m2(q) ma(r) mb(r) 40

41 4c. AOMDF - Interactions (3) sd primmodelint :A :B :C m1() <<compositeaspect>> comptest(xtype) m2() <<exclude>> m3() m4() m5() 41

42 4c. AOMDF - Interactions (4) sd comptest(t:type) X Y <<begin>> op1() <<before>> op2() <<body>> op3() <<after>> op4() <<end>> op5() 42

43 4c. AOMDF - Interactions (5) sd composedint :A :X :Y m1() op1() op2() m2op3() op4() m3() op2() m4op3() op4() op5() m5() 43

44 4d. The Theme Approach 44

45 Part 5 Summarizing thoughts 45

46 5a. Summarizing thoughts Contribution to SoC Better separation of crosscutting concerns with AOSD AOP vs. AOM Common theme: Improved support for SoC Code vs. models Code provides a single view of behaviour AOP aspects crosscut source code modules Models provide multiple overlapping views of a systems Views support separation of concerns AOM aspects crosscut views in a model AOM design models are not necessarily descriptions of aspect-oriented programs AOM design models CAN be transformed to non-aop languages. 46

47 5b. Future Much happening in the AOSD-field Several AOP languages and tools have emerged Many variants / frameworks for AOM, standardization? Tool support for AOM Further research on multidimensional SoC AOSD is the next (or actually the current) big thing Thesis suggestions available (AOM-related) Contact: mansuraa@ifi.uio.no, arnor.solberg@sintef.no 47

48 Part 6 References 48

49 6. References Articles: Solberg, A. et al, Developing Service Oriented Systems Using An Aspect Oriented Model Driven Framework, International Journal of Cooperative Information Systems (IJCIS), 2006 Clarke, S. and Baniassad, E., Theme: An Approach for Aspect-Oriented Analysis and Design, Proceedings of the International Conference on Software Engineering (ICSE), 2004 IBM Research, Multi-Dimensional Separation of Concerns: An Overview, Laddad, R., I want my AOP! (Part 1), Laddad, R., I want my AOP! (Part 2), Laddad, R., I want my AOP! (Part 3), Dijkstra, E. W., Selected Writings on Computing: A Personal Perspective, New York: Springer-Verlag, ISBN:

50 6. References (2) Books: Filman, R. E. et al., Aspect-Oriented Software Development: Addison-Wesley Professional, ISBN: Clarke, S. and Baniassad, E., Aspect-Oriented Analysis and Design The Theme Approach: Addison- Wesley Professional, ISBN: Jacobson, I. and Ng, P-W., Aspect-Oriented Software Development With Use Cases: Addison-Wesley Professional, ISBN: Luck, M. et al., Agent-Based Software Development: Artech House Publishers, ISBN: Websites: (now an Eclipse project: (Also check Wikipedia for other AOP-languages and more AOSD-links) 50

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Using an Aspect Oriented Layer in SOA for Enterprise Application Integration

Using an Aspect Oriented Layer in SOA for Enterprise Application Integration 19 Using an Aspect Oriented Layer in SOA for Enterprise Application Integration Chinthaka D. Induruwana School of Computer Science, University of Manchester, Kilburn Building, Oxford Road M13 9PL induruwc@cs.man.ac.uk

More information

Unification of AOP and FOP in Model Driven Development

Unification of AOP and FOP in Model Driven Development Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify

More information

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns. Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional

More information

How to Model Aspect-Oriented Web Services

How to Model Aspect-Oriented Web Services How to Model Aspect-Oriented Web Services Guadalupe Ortiz Juan Hernández gobellot@unex.es juanher@unex.es Quercus Software Engineering Group University of Extremadura Computer Science Department Pedro

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

The Service Revolution software engineering without programming languages

The Service Revolution software engineering without programming languages The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)

More information

AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects

AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects SBCARS 2007 AIPLE-IS: An Approach to Develop Product Lines for Information Systems Using Aspects Rosana T. Vaccare Braga, Fernão S. Rodrigues Germano, Stanley F. Pacios, Paulo C. Masiero Instituto de Ciências

More information

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction Web Services - A Consultant s View From IT Stategy to IT Architecture Hans-Peter Hoidn, Timothy Jones, Jürg Baumann, Oliver Vogel February 12, 2003 Copyright IBM Corporation 2002 Agenda Introduction I.

More information

Architecture Rules Enforcement and Governance Using Aspects

Architecture Rules Enforcement and Governance Using Aspects Architecture Rules Enforcement and Governance Using Aspects Srini Penchikala SATURN 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ) Detroit Java User Group Leader Working with

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

Aspect-oriented software engineering

Aspect-oriented software engineering M21_SOMM5152_09_SE_C21.qxd 1/7/10 2:31 PM Page 565 21 Aspect-oriented software engineering Objectives The objective of this chapter is to introduce you to aspect-oriented software development, which is

More information

Foundation of Aspect Oriented Business Process Management

Foundation of Aspect Oriented Business Process Management Foundation of Aspect Oriented Business Process Management Amin Jalali Department of Computer and Systems Sciences Degree project 30 HE credits Degree subject: computer and Systems Sciences Degree project

More information

How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution

How To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science Otto-von-Guericke-University

More information

Coordinated Visualization of Aspect-Oriented Programs

Coordinated Visualization of Aspect-Oriented Programs Coordinated Visualization of Aspect-Oriented Programs Álvaro F. d Arce 1, Rogério E. Garcia 1, Ronaldo C. M. Correia 1 1 Faculdade de Ciências e Tecnologia Universidade Estadual Paulista Júlio de Mesquita

More information

Software Engineering and Technology Trends

Software Engineering and Technology Trends Laboratory Software Engineering and Technology Trends Christopher Giblin cgi@zurich.ibm.com Overall Trends Internet Constant change in usage and application styles Open Source vs. Proprietary Development

More information

Post object-oriented paradigms in software development: a comparative analysis

Post object-oriented paradigms in software development: a comparative analysis Proceedings of the International Multiconference on ISSN 1896-7094 Computer Science and Information Technology, pp. 1009 1020 2007 PIPS Post object-oriented paradigms in software development: a comparative

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Separation of concerns is a fundamental principle of software engineering.

Separation of concerns is a fundamental principle of software engineering. C H A P T E R 21 Concern Modeling for Aspect-Oriented Software Development 1 Stanley M. Sutton Jr. and Isabelle Rouvellou Separation of concerns is a fundamental principle of software engineering. Of course,

More information

Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution

Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science University of Magdeburg,

More information

Chapter 5 Aspect Oriented Programming

Chapter 5 Aspect Oriented Programming 2I1AC3 : Génie logiciel et Patrons de conception Chapter 5 Aspect Oriented Programming J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé. Je ne

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 tyehon@cs.ubc.ca ABSTRACT In this paper, I present a picture of what software development

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration of Application Business Logic and Business Rules with DSL and AOP e-informatica Software Engineering Journal, Volume 4, Issue, 200 Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska, Krzysztof Kasprzyk Faculty of Computer

More information

Aspect Oriented Programming. with. Spring

Aspect Oriented Programming. with. Spring Aspect Oriented Programming with Spring Problem area How to modularize concerns that span multiple classes and layers? Examples of cross-cutting concerns: Transaction management Logging Profiling Security

More information

Composing Concerns with a Framework Approach

Composing Concerns with a Framework Approach Composing Concerns with a Framework Approach Constantinos A. Constantinides 1,2 and Tzilla Elrad 2 1 Mathematical and Computer Sciences Department Loyola University Chicago cac@cs.luc.edu 2 Concurrent

More information

Using UML Behavioral Model to Support Aspect Oriented Model

Using UML Behavioral Model to Support Aspect Oriented Model Journal of Software Engineering and Applications, 2013, 6, 98-112 http://dx.doi.org/10.4236/jsea.2013.63014 Published Online March 2013 (http://www.scirp.org/journal/jsea) Using UML Behavioral Model to

More information

25.1 Translational Frameworks (MDA with transformations)

25.1 Translational Frameworks (MDA with transformations) Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Security in Domain-Driven Design. Author: Michiel Uithol

Security in Domain-Driven Design. Author: Michiel Uithol Security in Domain-Driven Design Author: Michiel Uithol Supervisors: dr.ir. M.J. van Sinderen dr.ir. L. Ferreira Pires T. Zeeman (Sogyo) E. Mulder (Sogyo) ii Security in Domain Driven Design Abstract Application

More information

A COMPARISON OF AOP BASED MONITORING TOOLS

A COMPARISON OF AOP BASED MONITORING TOOLS STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system

More information

Progress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona

Progress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona Progress Report Aspect Oriented Programming meets Design Patterns Academic Programme MSc in Advanced Computer Science Guillermo Antonio Toro Bayona Supervisor Dr. John Sargeant The University of Manchester

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

The Nature and Importance of a Programming Paradigm

The Nature and Importance of a Programming Paradigm Multiple Software Development Paradigms and Multi-Paradigm Software Development Valentino Vranić vranic@elf.stuba.sk Abstract: While OOP (including OOA/D) is reaching the level of maturity of structured

More information

Remote Pointcut - A Language Construct for Distributed AOP

Remote Pointcut - A Language Construct for Distributed AOP Remote Pointcut - A Language Construct for Distributed AOP Muga Nishizawa (Tokyo Tech) Shigeru Chiba (Tokyo Tech) Michiaki Tatsubori (IBM) 1 Pointcut-advice model Joinpoints Program execution is modeled

More information

Harmless Advice. Daniel S Dantas Princeton University. with David Walker

Harmless Advice. Daniel S Dantas Princeton University. with David Walker Harmless Advice Daniel S Dantas Princeton University with David Walker Aspect Oriented Programming Aspect Oriented Programming IBM - 2004 IBM reports positive results in aspect-oriented programming experiments

More information

Concern Driven Software Development

Concern Driven Software Development Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada Omar.Alam@mail.mcgill.ca Abstract Model Driven Engineering (MDE) has achieved success in many

More information

Development of a Feature Modeling Tool using Microsoft DSL Tools.

Development of a Feature Modeling Tool using Microsoft DSL Tools. Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer

More information

Using Aspect Oriented Techniques to Support Separation of Concerns in Model Driven Development

Using Aspect Oriented Techniques to Support Separation of Concerns in Model Driven Development Using Aspect Oriented Techniques to Support Separation of Concerns in Model Driven Development Arnor Solberg SINTEF P.O. Box 124 Blindern N-0314 Oslo, Norway arnor.solberg@sintef.no Devon Simmonds, Raghu

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de

More information

The Concern-Oriented Software Architecture Analysis Method

The Concern-Oriented Software Architecture Analysis Method The Concern-Oriented Software Architecture Analysis Method Author: E-mail: Student number: Supervisor: Graduation committee members: Frank Scholten f.b.scholten@cs.utwente.nl s0002550 Dr. ir. Bedir Tekinerdoǧan

More information

International Journal of Web & Semantic Technology (IJWesT) Vol.3, No.3, July 2012. Vishnuvardhan Mannava 1 and T. Ramesh 2

International Journal of Web & Semantic Technology (IJWesT) Vol.3, No.3, July 2012. Vishnuvardhan Mannava 1 and T. Ramesh 2 COMPOSITE DESIGN PATTERN FOR FEATURE- ORIENTED SERVICE INJECTION AND COMPOSITION OF WEB SERVICES FOR DISTRIBUTED COMPUTING SYSTEMS WITH SERVICE ORIENTED ARCHITECTURE Vishnuvardhan Mannava 1 and T. Ramesh

More information

Encapsulating Crosscutting Concerns in System Software

Encapsulating Crosscutting Concerns in System Software Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com

More information

Compose*: Language-Independent Aspects for.net

Compose*: Language-Independent Aspects for.net Compose*: Language-Independent Aspects for.net Lodewijk M.J. Bergmans [lbergmans@acm.org] TRESE group,, The Netherlands [] 1 Intro: Aspect-Orientation Aspect-Oriented Software Development (AOSD): Improve

More information

Agile Modeling and Design of Service-Oriented Component Architecture

Agile Modeling and Design of Service-Oriented Component Architecture Agile Modeling and Design of Service-Oriented Component Architecture Zoran Stojanovic, Ajantha Dahanayake, Henk Sol Systems Engineering Group, Faculty of Technology, Policy and Management, Delft University

More information

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Verifying Semantic of System Composition for an Aspect-Oriented Approach 2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach

More information

Software Engineering Research at Baylor

Software Engineering Research at Baylor Software Engineering Research at Baylor Eunjee Song Computer Science Department Baylor University October 3, 2008 Education Background Ph.D. Computer Science, Colorado State University, May 2007 Dissertation

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium - MODELS 2014 Reiner Jung Christian-Albrechts-University Kiel, Germany 30.09.2014 Domain-specific Languages Motivation

More information

Aspects for Testing Aspects?

Aspects for Testing Aspects? Aspects for Testing Aspects? Dehla Sokenou, Stephan Herrmann Technische Universität Berlin Software Engineering Group Sekr. FR 5-6, Franklinstr. 28/29, D-10587 Berlin [dsokenou stephan]@cs.tu-berlin.de

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Middleware-based Distributed Systems Software Process

Middleware-based Distributed Systems Software Process Middleware-based Distributed Systems Software Process 1,2 Liu JingYong, 1 Zhang LiChen, 2 Zhong Yong and 3 Chen Yong 1 Faculty of Computer Guangdong University of Technology Guangzhou, 510006, China 2

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

What SOA can do for Software Dependability. Karl M. Göschka Karl.Goeschka@tuwien.ac.at Vienna University of Technology

What SOA can do for Software Dependability. Karl M. Göschka Karl.Goeschka@tuwien.ac.at Vienna University of Technology What SOA can do for Software Dependability Karl M. Göschka Karl.Goeschka@tuwien.ac.at Vienna University of Technology Overview Dependability challenges Control loop: Adaptivity and evolution The SOA potential

More information

Lesson 18 Web Services and. Service Oriented Architectures

Lesson 18 Web Services and. Service Oriented Architectures Lesson 18 Web Services and Service Oriented Architectures Service Oriented Architectures Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano A bit of history (1)

More information

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Challenges and Opportunities for formal specifications in Service Oriented Architectures ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 05 - Evolution 1 Object Overview of the evolution of (Information Systems

More information

Service Oriented Architectures Using DoDAF1

Service Oriented Architectures Using DoDAF1 1 Service Oriented Architectures Using DoDAF1 Huei-Wan Ang, Fatma Dandashi, Michael McFarren The Mitre Corporation The MITRE Corp. 7515 Colshire Dr. McLean, VA 22102 hwang(at)mitre.org, dandashi(at)mitre.org,

More information

Distributed Systems Development: Can we Enhance Evolution by using AspectJ?

Distributed Systems Development: Can we Enhance Evolution by using AspectJ? Distributed Systems Development: Can we Enhance Evolution by using AspectJ? Cormac Driver Siobhán Clarke Distributed Systems Group, Computer Science Department, Trinity College Dublin, Ireland {Cormac.Driver,

More information

Business Process Modeling with Structured Scenarios

Business Process Modeling with Structured Scenarios Business Process Modeling with Structured Scenarios Doug Rosenberg ICONIX Software Engineering, Inc. In 2008, based on our experience with a number of business process engineering projects over the last

More information

Aspectual Mixin Layers

Aspectual Mixin Layers Aspectual Mixin Layers Sven Apel, Thomas Leich, and Gunter Saake Department of Computer Science University of Magdeburg, Germany email: {apel,leich,saake}@iti.cs.uni-magdeburg.de Abstract. Feature-Oriented

More information

IBM Rational Rapid Developer Components & Web Services

IBM Rational Rapid Developer Components & Web Services A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut.

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut. Aspect-oriented User User Interface Interface Design Design for Android for Android Applications Applications 1 1 Jiří Šebek, Karel Richta Jiří Šebek, Karel Richta Department of Computer Science and Engineering

More information

The leading platform for Model Driven Architecture (MDA) Content:

The leading platform for Model Driven Architecture (MDA) Content: The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...

More information

Automated Data Collection for Usability Evaluation in Early Stages of Application Development

Automated Data Collection for Usability Evaluation in Early Stages of Application Development Automated Data Collection for Usability Evaluation in Early Stages of Application Development YONGLEI TAO School of Computing and Information Systems Grand Valley State University Allendale, MI 49401 USA

More information

Developing the Architectural Framework for SOA Adoption

Developing the Architectural Framework for SOA Adoption Developing the Architectural Framework for SOA Adoption Oliver Sims Enterprise Architect oliver.sims@open-it.co.uk Copyright Open-IT Limited 2005 Agenda Service Orientation just a good technology? The

More information

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can

More information

Security Design Patterns

Security Design Patterns Security Design Patterns Overview Software Development Lifecycle Enterprise Software Design Process and Artifacts Pattern Format Aspect Oriented Programming Security Design Patterns Focus of this presentation

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

Software Development Life-cycle Hygiene with Message Broker in end-to-end SOA

Software Development Life-cycle Hygiene with Message Broker in end-to-end SOA Software Development Life-cycle Hygiene with Message Broker in end-to-end SOA Tips for building and maintaining a working SOA implementation in MB Stuart Smith - Consultant, Smart421 ssmith@smart421.com

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

Fine-grained Variability in the Development of Families of Software Agents

Fine-grained Variability in the Development of Families of Software Agents Fine-grained Variability in the Development of Families of Software Agents Ingrid Nunes 1, Elder Cirilo 1, Donald Cowan 2, and Carlos J.P. de Lucena 1 1 PUC-Rio, Computer Science Department, LES - Rio

More information

Software Specification and Testing

Software Specification and Testing Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: jmilley@engr.mun.ca Dr. Dennis K. Peters Faculty of Engineering

More information

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus. 2010 IBM Corporation

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus. 2010 IBM Corporation Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus Agenda BPM Follow-up SOA and ESB Introduction Key SOA Terms SOA Traps ESB Core functions Products and Standards Mediation Modules

More information

Dynamic Reconfiguration Using Template Based Web Service Composition

Dynamic Reconfiguration Using Template Based Web Service Composition Dynamic Reconfiguration Using Template Based Web Service Composition Kristof Geebelen, Sam Michiels and Wouter Joosen IBBT-DistriNet, Dept. Computer Science, K.U.Leuven Celestijnenlaan 200A 3001 Leuven,

More information

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming

More information

Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012

Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012 Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012 Geri Georg 1, Shaukat Ali 2, Betty H.C. Cheng 3, Benoit Combemale 4, Robert France 1, Jörg Kienzle 5, Jacques Klein 6, Philippe

More information

Aspect-Oriented Software Development

Aspect-Oriented Software Development Aspect-Oriented Software Development Dr. Awais Rashid Computing Department Lancaster University, UK Awais Rashid, 2005. Fundamental to Next Generation Software AOSD is vital to our [IBM Software Group

More information

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Service-Oriented Architecture and its Implications for Software Life Cycle Activities Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

F-16 Modular Mission Computer Application Software

F-16 Modular Mission Computer Application Software F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer

More information

Toward Configurable Access Control for. Healthcare Information Systems

Toward Configurable Access Control for. Healthcare Information Systems Toward Configurable Access Control for Healthcare Information Systems Kung Chen a and Da-Wei Wang b a Department of Computer Science, National Chengchi University b Institute of Information Science, Academia

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi

More information

Enhancement of Development Technologies for Agent- Based Software Engineering

Enhancement of Development Technologies for Agent- Based Software Engineering Enhancement of Development Technologies for Agent- Based Software Engineering Andre Karpištšenko Tallinn Technical University, Ehitajate tee 5 19086 Tallinn, Estonia andre@lap.ee Abstract. Current trends

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

Identification of Crosscutting in Software Design

Identification of Crosscutting in Software Design Identification of Crosscutting in Software Design Klaas van den Berg Software Engineering Group University of Twente P.O. Box 217 7500 AE Enschede the Netherlands +31 53 4893783 k.g.vandenberg@ewi.utwente.nl

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

25 november 2008. SAAB Training Systems SESAM - Nov 2008, Göran Calås

25 november 2008. SAAB Training Systems SESAM - Nov 2008, Göran Calås 1 Projekthantering vid MDE Konfigurations och projekt/linjestyrning med Model-Driven Engineering Göran Calås Project Manager Systems Architect Nov 20, 2008 goran.calas@saabgroup.com +46 768 967167 2 Göran

More information

Aspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns

Aspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns Aspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns CS 586 Aspect-Oriented Software Development Project Group Members : Başak Çakar, Elif Demirli, Şadiye Kaptanoğlu Bilkent

More information

Component-Oriented Engineering

Component-Oriented Engineering Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008 Component-Oriented Engineering the dawn of a

More information

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government SOA + BPM = Agile Integrated Tax Systems Hemant Sharma CTO, State and Local Government Nothing Endures But Change 2 Defining Agility It is the ability of an organization to recognize change and respond

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information