A Framework for Automated Software Design Optimisation
|
|
- Lauren Roxanne Alexander
- 7 years ago
- Views:
Transcription
1 A Framework for Automated Software Design Optimisation Lucian Gabor, John Murphy Performance Engineering Laboratory, School of Electronic Engineering Dublin City University, Dublin 9, Ireland {gaborl, A majority of software systems are not designed with performance as a primary consideration. Even if profiling and monitoring tools that can detect various problems are used, these tools don't provide a solution. It takes a very experienced designer or developer to deal with such problems efficiently. A recent development in design practice is the use of design patterns, refactorings and antipatterns. This paper presents a framework that provides a way to automatically correct design problems preserving the functionality of the system and improving its performance. The approach is to provide a system of patterns, antipatterns and refactorings that will produce an optimised system. 1 Introduction Component-based software systems are typically complex and frequently dynamically changing. A large portion of the design effort for such a system is geared toward ensuring the correct functionality of the system, with performance issues taking a back seat in the design procedure. Often, because of the size and dynamic nature of these systems, performance problems are extremely difficult to detect at the design stage. Even when performance problems are detected, their solution is not always clear. The use of patterns has been suggested as good design practice for large-scale software systems [1], [2], [3], [4]. Patterns may be though of as formal descriptions of problems and their solutions. As such, a designer need only match their current situation to existing patterns, and employ the solutions suggested by those patterns. Much research has been done in showing the effectiveness of using patterns to solve functionality problems for large software systems. We propose that patterns may also be used to solve a class of performance problems for large software systems. In this work, we propose to explore the use of patterns, and the closely related concepts of antipatterns and refactoring, to the problem of performance optimisation for large component-based software systems. In Section 2, we will define the major concepts associated with patterns, antipatterns, and refactoring. In Section 3, we will present a framework for using patterns, antipatterns, and refactoring to optimise performance for a system while preserving functionality. In Sections 4 and 5, we will present conclusions and future work.
2 2 Patterns The motivation for using patterns in software systems is that software patterns are smart, generic, well proved, simple and reusable. [1] A pattern is a three-part rule which expresses a relation between a certain context, a problem and a solution. Even the schema that underlies every pattern (context, problem, solution) leads to the idea of pattern automation. Ideally, if a problem and its context are identified then, a pattern that addresses that problem can be applied to obtain a solution. Over time some important characteristics of software patterns have been pointed out. 1. They are observed through experience. A pattern is in fact a recurring solution to a problem that often appears within a specific context [2]. 2. Patterns exist at different level of abstraction. Some patterns deals with structuring software systems into subsystems or refine subsystems or components or the relations between them. These patterns don't have a strong connection to any specific platform or programming language. Other patterns are just opposite. They provide a specific solution to a design aspect for a specific platform or programming language. [3] 3. Patterns can be used together to form a larger solution. A pattern solves a particular problem, but its application may raise new problems. Some of them might be solved by other patterns. One pattern may be integrated into larger one to form together a solution. [3] There is the problem of how to apply patterns in combination to form a larger solution. [2]. Defining clear and homogeneous pattern systems addresses this problem. A pattern system ties its constituent patterns together. It describes how the patterns are connected and how they complement each other. One important characteristic of a pattern system is that it's constituent patterns are divided into different categories. Choosing the right categories for a pattern system is an important task. These criteria for categorisation are a constituent part of the system and guide the process of deciding on the use of a pattern. One general categorisation criterion is the abstraction level that a pattern resides at. There are three major categories of patterns reflecting different levels of abstraction: architectural patterns, design patterns, and idioms. [3] An architectural pattern refers to the practice of organising software into subsystems with specific responsibilities and methods of interaction [4] A design pattern provides a scheme for refining individual components of a software system or the communication channel between components. It solves a general design problem within a particular context. [3] An idiom is a low-level pattern specific to a programming language. It solves a specific problem using the features of the given language. [3] In the case of a more platform specific pattern system one or more abstraction levels might be missing. An example of this is EJB technology and the Core J2EE pattern system [2] known as SJC (Sun Java Center) patterns. The EJB technology is build with respect to Broker architectural pattern [3]. The SJC pattern system uses other architectural patterns such as Model-View-Controller [3] and Pipes and Filters [3]. They don't present idioms since the platform itself is java centric. Instead, for each pattern there is associated a set of strategies that guide the implementation. This is an example of the tight relationship between a technology and a pattern system that address it. In addition to categorisation, based on level of abstraction, patterns may be categorised according to tiers representing their application level. Three tiers are commonly defined - presentation, business and integration. The boundaries of these tiers are well demarcated.
3 Antipatterns are similar to patterns [8]. They document recurring solutions to common design problems. The difference is that their result is negative -- antipatterns tell what to avoid. They also give a solution to fix the problem. For this paper the term patterns will be used to include the concept of antipatterns. The concept of patterns leads to the suggestion that problematic software should be modified to conform to solutions presented in patterns. Refactoring refers to behaviourpreserving program transformations that automate design evolution in object-oriented applications [7]. Clearly, refactoring is a desirable step in the automation of any patternbased design system. 3 Framework We propose a framework that uses patterns as the basis for an expert system to detect performance problems and use refactoring to solve these problems in the system. Ultimately, it would be desirable to have a system that would automatically refactor software based on the patterns detected. For the moment we propose a tool that will discover the patterns associated with a given software system. The input to this tool is a UML representation of the system, possibly annotated with known problems. The output is a set of patterns associated with the software, indicating what improvements can be made. 3.1 Pattern System The base of the correcting mechanism will be a system of patterns and antipatterns. This architecture has two ways to use patterns. There are patterns that are used to understand the system and patterns that can be applied to improve the system. Being included into one of the category does not exclude the possibility that a pattern can belong to the other category as well. 3.2 Non-intrusive Approach An important feature is that the corrected system will maintain the functionality of the original system. In order that this goal is achieved all patterns should be applied nonintrusively with respect to the functionality of the system. Each pattern will have associated strategies to apply them and these strategies will be based on refactoring. In this way each transformation will be "mathematical", refactoring being a very well defined code-level transformation. Another useful technology for the non-intrusive approach of this framework is aspectoriented programming. By defining new ways to apply a pattern using aspect-oriented concepts the original code will remain untouched. This code will be the black box containing the functionality while aspects and concerns will model the business logic. An example would be the Flyweight [4] pattern. The effect of this pattern is that an object is not instantiated until there is an actual need to do so (first invocation on it). In this case one aspect is that before each method invocation the object must be initialised. 3.3 Expert System The tool that accomplishes these tasks will be an expert system. Its knowledge base will be a pattern system that addresses a particular technology. The underlying structure of the knowledge base will follow the meta-model of the UML/MOF [5] [6] specifications. In this way it will address uniformly any object oriented technology. Version 2.0 of UML and MOF defines all UML concepts, relations and semantics using a metamodeling language.
4 Following those definitions in the design of the knowledge base will propagate its precision and correctness. 3.4 Workflow The basic actions that are taken are illustrated as a business model in Figure 1. The input will be the UML model of the target software system. It will have associated audit data that pinpoints problems that need to be solved (if such data is available). The output will be a collection of patterns associated with the system which may be used to refactor the system. 1. The first step will be to understand the model namely, determining what patterns were used in the design of the system. Detected architectural patterns will split the main system into subsystems. Design patterns will refine them and will provide useful information about other patterns that might complement them. Antipatterns will become problems that have to be solved. 2. The second step is to find similarities between the new system and previously processed systems. This will lead to possible new problems that might have eluded the designers. 3. Knowing where a problem resides in the model, its surroundings will be compared with the contexts that are associated with patterns. Detecting a common context between a problem and a pattern provides a solution. 4. Finally the processed model will be stored into the knowledge base, preserving all the problems and patterns that involve it. From this point each identified problem can be corrected by applying the patterns that share its context. This procedure must then be repeated to ensure that new patterns have not generated new side effects. A possible extension is to use simulation and performance prediction tools to test the provided model and to improve it. input model input model Client Interface OrganizingEngin store model determine patterns ModelKnowledgeBas find similar models Pattern find used patterns / antipatterns MatchingEngin find contexts for problems Contex Figure 1
5 3.5 Problem Domain Classes The problem domain is constructed from the following classes (see Figure 2): 1. Model - the UML model of the tested application. 2. Audit Data - profiling and monitoring information linked to elements of the model. 3. The Context forms the connection between patterns and models. Patterns are either directly associated with the context or through platform dependent strategies. 4. Pattern, Context and Strategy form the base of the system. The Pattern domain constitute the underling layer of the knowledge base, dictating it's architecture. ModelKnowledgeBase, Pattern and Context domain classes together form a knowledge base. This knowledge base will contain the patterns that form the pattern system, the models that have been processed and the context that ties the problem from the model to a pattern. Patterns will be separated by their categories. The knowledge base will contain all the relations between patterns and other patterns and between patterns and their context. Models are stored in this knowledge base to reuse the experience acquired when their problems are solved. Also, detected patterns in a model can be associated with previously undefined context. 5. The knowledge base is managed by an organising engine, which has the task of creating all the relations between patterns, models and contexts. 6. The similarities that define these relations are detected by a matching engine, which provides a weighted solution when comparing elements. interface Model include ModelKnowledgeBase organise OrganizingEngine AuditData access use include MatchingEngine refers include Context interface Pattern Strategy Figure 2
6 4 Conclusions It is important to have a well-defined system of patterns that addresses performance issues. This system of patterns must include other patterns that help refine the solution and antipatterns to be able to avoid and correct them. The quality of the pattern system determines the degree of design improvements. Also a very important issue is the definition and representation of the context of a pattern. The automation process depends on it. The fact that it will take a non-intrusive approach will extend the applicability of the correction mechanism. Another important issue is the use of aspect-oriented techniques as they offer new solutions that are highly scalable. 5 Future Work The impact of profiling mechanism as defined in UML 2.0 specifications will be analysed. The idea is to determine how the definition and use of a UML profile for design patterns would improve the precision of pattern/context definition, detection and matching. Another possible impact would be on the structure of the knowledge base. 6 Acknowledgment This research was supported by Enterprise Ireland s Informatics Research Initiative. 7 References [1] H.E. Eriksson, M. Penker: UML Toolkit, John Wiley & Sons, 1997 [2] D. Alur, J. Crupi, D. Malks: Core J2EE Patterns - Best Practices and Design Strategies, Sun Microsystems Press, 2001 [3] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal: Pattern-Oriented Software Architecture - a System of Patterns, John Wiley & Sons, 1996 [4] E. Gramma, R. Helm, R. Johnson, J. Vlissides: Design Patterns - Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 [5] C. U. Smith, L. G. Williams: Software Performance Antipatterns, 2nd International Workshop on Software and Performance Proceedings, Sept [6] L. Tokuda, D. Batory: Evolving Object-Oriented Designs with Refactorings, Kluwer Academic Publishers, 2001 [7] [8] [9]
A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS
UDC: 004.42 Original scientific paper A MODEL OF HETEROGENEOUS DISTRIBUTED SYSTEM FOR FOREIGN EXCHANGE PORTFOLIO ANALYSIS Dragutin Kermek 1, Tomislav Jakupi 2, Neven Vr ek 1 1 University of Zagreb,Faculty
More informationDesign Patterns for Complex Event Processing
Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient
More informationPATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS
PATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS M. Taleb, A. Seffah Human-Centred Software Engineering Group Concordia University, Montreal, Quebec, Canada Phone: +1 (514) 848 2424 ext 7165 and/or ext
More informationPatterns in Software Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture
More informationResearch Topics in Software Engineering
MAP-I Programa Doutoral em Informática Research Topics in Software Engineering Unidade Curricular em Paradigmas da Computação Paradigms of Computation (UCPC) UMinho, FEUP July 23, 2009 Abstract This document
More informationPattern. seconda parte. Types of patterns. ...other good guidance... some GRASP. design patterns (software design) Types of software patterns
rel. 1.7 Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2008-09 Corso di Ingegneria del Software Pattern seconda parte Renato Conte - Pattern II- 1/48 - Types of software patterns
More informationIntroducing Performance Engineering by means of Tools and Practical Exercises
Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School
More informationAn MDA Approach for the Development of Web applications
An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances
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 informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More informationExcerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
More informationDesigning a Semantic Repository
Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will
More informationTowards an Automated Pattern Selection Procedure in Software Models
Towards an Automated Pattern Selection Procedure in Software Models Alexander van den Berghe, Jan Van Haaren, Stefan Van Baelen, Yolande Berbers, and Wouter Joosen {firstname.lastname}@cs.kuleuven.be IBBT-DistriNet,
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 informationA Pattern-based Approach to Business Process Modeling and Implementation in Web Services
A Pattern-based Approach to Business Process Modeling and Implementation in Web Services Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank & IT University of Copenhagen, Denmark stbr@itu.dk 2 University
More informationStructuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
More informationCore J2EE Patterns, Frameworks and Micro Architectures
Core J2EE Patterns, Frameworks and Micro Architectures Deepak.Alur@sun.com Patterns & Design Expertise Center Sun Software Services January 2004 Agenda Patterns Core J2EE Pattern Catalog Background J2EE
More informationCDC UNIFIED PROCESS PRACTICES GUIDE
Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.
More informationPATTERN-BASED BUSINESS-DRIVEN ANALYSIS AND DESIGN OF SERVICE ARCHITECTURES
PATTERN-BASED BUSINESS-DRIVEN ANALYSIS AND DESIGN OF SERVICE ARCHITECTURES Veronica Gacitua-Decar and Claus Pahl School of Computing, Dublin City University, Glasnevin, Dublin 9, Ireland. vgacitua@computing.dcu.ie,
More informationA methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 ed@cse.fau.edu 1. Introduction A good percentage of the
More information9 Research Questions Resolved
217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced
More informationARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS
ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability
More informationDistributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
More informationUsing MDA in Web Software Architectures
Using MDA in Web Software Architectures SANTIAGO MELIA, CRISTINA CACHERO AND JAIME GOMEZ 1 Universidad de Alicante, Spain The new challenges posed by the Internet market have increased the need for Web
More informationOntological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
More informationArchitectural Patterns: From Mud to Structure
DCC / ICEx / UFMG Architectural Patterns: From Mud to Structure Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo From Mud to Structure Layered Architecture It helps to structure applications that
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 informationIntroduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
More informationCHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE
CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION I: OVERVIEW AND HISTORY OF STYLES AND PATTERNS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012
More informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
More informationApplying MDA in Developing Intermediary Service for Data Retrieval
Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 dboberic@uns.ac.rs
More informationIt s all around the domain ontologies - Ten benefits of a Subject-centric Information Architecture for the future of Social Networking
It s all around the domain ontologies - Ten benefits of a Subject-centric Information Architecture for the future of Social Networking Lutz Maicher and Benjamin Bock, Topic Maps Lab at University of Leipzig,
More informationVariation Management for Software Production Lines 1
Variation Management for Software Production Lines 1 Charles W. Krueger BigLever Software, Inc. 10500 Laurel Hill Cove Austin TX 78730 USA ckrueger@biglever.com Abstract. Variation in a software product
More informationIntroduction to the Analysis and Management Framework
Introduction to the Analysis and Management Framework Project Team: Don Kranz, Tom Gullion, Neal Saito, Gary Marchiny Project Monitor: Steve Husty 1 Agenda Problem Space The NASA IV&V AMF N Tier Architectures
More informationDi 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich
Di 6.1a January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich Warum naive SOA scheitert Ein Erfahrungsbericht Adam Bien How To Kill a SOA Project Early? [Warum naive SOA scheitert]
More informationTwin A Design Pattern for Modeling Multiple Inheritance
Twin A Design Pattern for Modeling Multiple Inheritance Hanspeter Mössenböck University of Linz, Institute of Practical Computer Science, A-4040 Linz moessenboeck@ssw.uni-linz.ac.at Abstract. We introduce
More informationFederated, Generic Configuration Management for Engineering Data
Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements
More informationObject-Oriented Middleware for Distributed Systems
Object-Oriented Middleware for Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini after Giovanni Rimassa andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di
More informationCo-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological
More informationSupporting Interactive Invocation of Remote Services within an Integrated Programming Environment
Supporting Interactive Invocation of Remote Services within an Integrated Programming Environment Bruce Quig Faculty of Information Technology Monash University Australia John Rosenberg Faculty of Information
More information25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
More informationIntroduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture
Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit
More informationRUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch
RUP Design RUP Artifacts and Deliverables RUP Purpose of Analysis & Design To transform the requirements into a design of the system to-be. To evolve a robust architecture for the system. To adapt the
More informationWeb Application Architectures
Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering
More informationSoftware Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
More informationCombining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University
More informationAdding Semantics to Business Intelligence
Adding Semantics to Business Intelligence Denilson Sell 1,2, Liliana Cabral 2, Enrico Motta 2, John Domingue 2 and Roberto Pacheco 1,3 1 Stela Group, Universidade Federal de Santa Catarina, Brazil 2 Knowledge
More informationUnderstanding Architectural Assets
IBM Software Group Understanding Architectural Assets Peter Eeles peter.eeles@uk.ibm.com 2008 IBM Corporation Agenda IBM Software Group Rational software Introduction Sources of architecture Types of architectural
More informationService Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
More informationArchitectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.
Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm
More informationPatterns in a Nutshell
Patterns in a Nutshell http://www.enteract.com/~bradapp/ January 27, 1998 Patterns in a Nutshell Page 2 of 12 Trendy: Literary: 1.0 What are Patterns? Recent hot topic, OOD buzzword, lots of hype! Form
More informationA Framework for Virtual Enterprise Support Services
A Framework for Virtual Enterprise Support Services Vaggelis Ouzounis, Volker Tschammer ECCO Electronic Commerce Center of Competence, GMD-Fokus, Kaiserin-Augusta-Allee 31, D-10589, Berlin, Germany Tel:
More informationDefinition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2
Gastcollege BPM Definition of SOA Services architecture is a specific approach of organizing the business and its IT support to reduce cost, deliver faster & better and leverage the value of IT. November
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationBCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT
BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT Software Engineering 1 June 2015 EXAMINERS REPORT General Comments This is a technical paper about Software Engineering. Questions seek to
More informationExperiences with ALM tools in Software Engineering course
Faculty of Mathematics, University of Belgrade 1/35 Vladimir Filipović Experiences with ALM tools in Software Engineering course Outline 2/35 Software Engineering course entitled Software development 2
More informationBusiness Rule Standards -- Interoperability and Portability
Rule Standards -- Interoperability and Portability April 2005 Mark H. Linehan Senior Technical Staff Member IBM Software Group Emerging Technology mlinehan@us.ibm.com Donald F. Ferguson IBM Fellow Software
More informationArchitectural Patterns (3)
Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Goal: send the same message to multiple recipients which will (or may) reply to
More informationLecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
More informationRemigijus Gustas. Department of Information Systems, Karlstad University, Sweden
Department of Information Systems, Karlstad University, Sweden Underlying principles of conventional Conceptual Modeling Approaches EM methods distinguish disparate views/dimensions (Zachman, 1987). UML
More informationBrokerage in web application frameworks
Brokerage in web application frameworks Issues of framework re-use in OpenACS Stefan Sobernig Vienna University of Economics and Business Administration 1 von 33 15.02.2008 16:03 Uhr Overview 1. On concepts:
More informationImplementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
More informationINTEROPERABILITY IN DATA WAREHOUSES
INTEROPERABILITY IN DATA WAREHOUSES Riccardo Torlone Roma Tre University http://torlone.dia.uniroma3.it/ SYNONYMS Data warehouse integration DEFINITION The term refers to the ability of combining the content
More informationSOA Enabled Workflow Modernization
Abstract Vitaly Khusidman Workflow Modernization is a case of Architecture Driven Modernization (ADM) and follows ADM Horseshoe Lifecycle. This paper explains how workflow modernization fits into the ADM
More informationMasters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
More informationOpen Source Software: How Can Design Metrics Facilitate Architecture Recovery?
Open Source Software: How Can Design Metrics Facilitate Architecture Recovery? Eleni Constantinou 1, George Kakarontzas 2, and Ioannis Stamelos 1 1 Computer Science Department Aristotle University of Thessaloniki
More informationHealthcare, transportation,
Smart IT Argus456 Dreamstime.com From Data to Decisions: A Value Chain for Big Data H. Gilbert Miller and Peter Mork, Noblis Healthcare, transportation, finance, energy and resource conservation, environmental
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationA Process View on Architecture-Based Software Development
A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany
More informationChapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
More informationWait-Time Analysis Method: New Best Practice for Performance Management
WHITE PAPER Wait-Time Analysis Method: New Best Practice for Performance Management September 2006 Confio Software www.confio.com +1-303-938-8282 SUMMARY: Wait-Time analysis allows IT to ALWAYS find the
More informationAn Automatic Reversible Transformation from Composite to Visitor in Java
An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,
More informationData Mining Governance for Service Oriented Architecture
Data Mining Governance for Service Oriented Architecture Ali Beklen Software Group IBM Turkey Istanbul, TURKEY alibek@tr.ibm.com Turgay Tugay Bilgin Dept. of Computer Engineering Maltepe University Istanbul,
More informationProtecting the Hosted Application Server
Protecting the Hosted Application Server Paola Dotti, Owen Rees Extended Enterprise Laboratory HP Laboratories Bristol HPL-1999-54 April, 1999 E-mail: {Paola_Dotti,Owen_Rees}@hpl.hp.com application server,
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 informationCONDIS. IT Service Management and CMDB
CONDIS IT Service and CMDB 2/17 Table of contents 1. Executive Summary... 3 2. ITIL Overview... 4 2.1 How CONDIS supports ITIL processes... 5 2.1.1 Incident... 5 2.1.2 Problem... 5 2.1.3 Configuration...
More informationStructural Design Patterns Used in Data Structures Implementation
Structural Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,
More informationMaturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement
Maturity Assessments of Service- oriented Enterprise Architectures with Iterative Pattern Refinement Michael Falkenthal 1, Dierk Jugel 1, Alfred Zimmermann 1, René Reiners 2, Wilfried Reimann 3, Michael
More informationA Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
More informationSoftware Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer)
Software Architecture New wine in old bottles? (i.e., software architecture global design?, architect designer) Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural
More informationWeb Services and Seamless Interoperability
Web Services and Seamless Interoperability João Paulo A. Almeida, Luís Ferreira Pires, Marten J. van Sinderen Centre for Telematics and Information Technology, University of Twente PO Box 217, 7500 AE
More informationSimplifying Processes Interoperability with a Service Oriented Architecture
Why SOA? Simplifying Processes Interoperability with a Service Oriented Architecture Zak Merzouki, Software Architecture and Technology Director BDPA 11/20/2008 Perspective "Things should be made as simple
More informationInformation as a Service in a Data Analytics Scenario A Case Study
2008 IEEE International Conference on Web Services Information as a Service in a Analytics Scenario A Case Study Vishal Dwivedi, Naveen Kulkarni SETLabs, Infosys Technologies Ltd { Vishal_Dwivedi, Naveen_Kulkarni}@infosys.com
More informationPattern Based Transformation and Evolution of Software Systems
Pattern-based Evolution of Software Architectures Isabelle Côté, Maritta Heisel, and Ina Wentzlaff University Duisburg-Essen, Faculty of Engineering, Department of Computational and Cognitive Sciences
More informationA Service Discovery: A Service Broker Approach
A Service Discovery: A Service Broker Approach Teemu Koponen Helsinki University of Technology Telecommunication software and Multimedia Laboratory Email: teemu.koponen@hut.fi Teemupekka Virtanen Helsinki
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationBackground: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture
Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and
More informationA Java Framework for Multi-Tier Web-Centric Applications Development
1 A Java Framework for Multi-Tier Web-Centric Applications Development Davide Brugali, Giuseppe Menga, and Franco Guidi-Polanco Abstract Web-centric applications can be understood as middle-size applications
More informationPattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture
Pattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture M S Rajasree, P Jithendra Kumar Reddy, D Janakiram Distributed & Object Systems Lab Department of Computer Science
More informationChapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
More informationService-oriented architecture in e-commerce applications
Service-oriented architecture in e-commerce applications What is a Service Oriented Architecture? Depends on who you ask Web Services A technical architecture An evolution of distributed computing and
More informationObject-Oriented Systems Analysis and Design
Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS
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 informationBuilding Semantic Content Management Framework
Building Semantic Content Management Framework Eric Yen Computing Centre, Academia Sinica Outline What is CMS Related Work CMS Evaluation, Selection, and Metrics CMS Applications in Academia Sinica Concluding
More informationDynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté
More informationUtilizing Domain-Specific Modelling for Software Testing
Utilizing Domain-Specific Modelling for Software Testing Olli-Pekka Puolitaival, Teemu Kanstrén VTT Technical Research Centre of Finland Oulu, Finland {olli-pekka.puolitaival, teemu.kanstren}@vtt.fi Abstract
More informationTeaching Software Engineering Through Game Design
Teaching Software Engineering Through Game Design Kajal Claypool Computer Science Department University of Massachusetts 1 University Avenue Lowell, MA, USA kajal@cs.uml.edu Mark Claypool Computer Science
More informationGenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student tawbi@irit.fr Bilal CHEBARO Assistant professor bchebaro@ul.edu.lb Abstract
More informationIncorporating database systems into a secure software development methodology
Incorporating database systems into a secure software development methodology Eduardo B. Fernandez 1, Jan Jurjens 2, Nobukazu Yoshioka 3, and Hironori Washizaki 4 1 Dept. of Computer Science, Florida Atlantic
More informationManaging Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie
More information