AOSD - Enhancing SoC :: INF5120 :: Mansur Ali Abbasi. AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns
|
|
- Samantha Black
- 8 years ago
- Views:
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 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 informationGenerating 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 informationUsing 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 informationUnification 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 informationKeywords 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 informationHow 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 informationAn 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 informationThe 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 informationAIPLE-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 informationWeb 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 informationArchitecture 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 informationIntegration 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 informationFoundations 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 informationAspect-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 informationFoundation 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 informationHow 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 informationCoordinated 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 informationSoftware 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 informationPost 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 informationDecomposition 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 informationSeparation 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 informationCombining 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 informationChapter 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 informationNew 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 informationIntegration 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 informationAspect 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 informationComposing 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 informationUsing 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 information25.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 informationOpen 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 informationSecurity 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 informationA 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 informationProgress 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 informationService 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 informationThe 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 informationRemote 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 informationHarmless 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 informationConcern 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 informationDevelopment 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 informationUsing 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 informationMDE 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 informationComparison 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 informationThe 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 informationInternational 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 informationEncapsulating 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 informationCompose*: 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 informationAgile 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 informationVerifying 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 informationSoftware 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 informationOverview. 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 informationService 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 informationGECO: 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 informationAspects 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 informationThe 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 informationMiddleware-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 informationInformation 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 informationWhat 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 informationLesson 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 informationChallenges 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 informationModel 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 informationMethods 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 informationService 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 informationDistributed 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 informationBusiness 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 informationAspectual 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 informationIBM 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 informationChapter 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 informationJiří Š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 informationThe 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 informationAutomated 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 informationDeveloping 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 informationCourse 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 informationSecurity 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 informationAcknowledgement. 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 informationSoftware 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 informationChapter 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 informationFine-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 informationSoftware 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 informationTomáš 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 informationDynamic 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 informationDesigning 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 informationModeling 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 informationAspect-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 informationService-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 informationJava (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 informationF-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 informationToward 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 informationVARIABILITY 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 informationEnhancement 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 informationA 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 informationService-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 informationEmbedded 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 informationIdentification 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 informationProject 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 information25 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 informationAspect-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 informationComponent-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 informationSOA + 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 informationObject 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 informationIntroduction 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