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

Size: px
Start display at page:

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

Transcription

1 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, Thailand and Poonphon Suesaowaluk School of Information Technology, Assumption University, Thailand Abstract Web applications are a key element in the eworld because of the ubiquity and flexibility they provide. As a result, it is necessary to find new ways to develop software product lines (SPLs) of Web applications in order to improve important factors such as time-tomarket and product quality. This paper presents an aspect-oriented product line framework to support the development of SPLs of Web applications. It is enclosed in the Core Asset Development and Product Development activities in product line development proposed by the Software Engineering Institute (SEI) of the Carnegie Mellon University, and it can be used for identifying, specifying, and managing variability from requirements to implementation. 1. Introduction Software Product Line (SPL) engineering is about exploiting commonalities among a set of systems while managing the variabilities among them in order to improve time to market, achieve systematic reuse goals, and improve product quality. Aspect-oriented software development (AOSD) is a paradigm that has a direct relationship to SPLs because one of its main objectives is to separate concerns to promote flexibility and configurability; these two goals are also vital when constructing SPLs. Also, AOSD can improve the way in which software is modularized with the encapsulation of variabilities in aspects. The contribution of this paper is to present a framework that uses AOSD in order to manage variability from the early stages of the SPL lifecycle and also improves the traceability of variations throughout every phase in the development of SPLs of Web applications. The framework is enclosed in the Core Asset Development and Product Development activities in product line development proposed by SEI. Besides, it is designed as a process description and recommendation to use specific existing Unified Modeling Language (UML) models with their extension mechanisms. Finally, this research is focused on SPLs of Web applications because of their key role 13.1

2 Germán Harvey Alférez Salinas, and Poonphon Suesaowaluk to provide ubiquity and flexibility in the eworld. Specifically, the analysis of the proposed framework is driven by a simplified SPL of help desks. The remainder of this paper is structured as follows. Section 2 describes the case study that was used to apply and evaluate the framework. Section 3 explains the aspectoriented framework for SPLs. Section 4 presents related work. Section 5 gives the conclusion and outlines areas of future work. 2. Description of the Case Study The framework was applied on a simplified SPL of help desks. There are three roles: Director, Operator, and Solicitant. Some products of the SPL measure the performance of the list requests, input request, and input service operations (this is a non-functional requirement). In order to take this measure, products calculate the response to external events or estimate the execution time of the operations. Finally, some products notify by to the solicitant when a new request or service has been input. These s can be generated in plain text or HTML format. 3. Aspect-Oriented Framework to Manage Variability in Software Product Lines Fig. 1 shows the two main activities of the proposed framework, Domain Engineering and Application Engineering, and their mapping with the SEI s activities. Each activity has its own development cycle. The bidirectional rows indicate that it is an iterative process and that traceability can be done between any stage and between the two development cycles. Figure 1. Aspect-Oriented Product Line Framework. Domain Engineering is the process of SPL engineering in which the commonality and the variability of the product line are created. Application Engineering is the process of SPL engineering in which the applications of the product line are built by reusing artifacts. The remainder of this chapter presents the two activities of the proposed framework. 3.1 Domain Engineering: The goal of this activity is to establish a production capability for products [1]. The framework sets up this capability with the following phases: - Domain Requirements Engineering: Functional and non-functional requirements common to the entire product line are represented through use cases with variation points that can be used to create productspecific requirements employing extensions and extension points. With the purpose of capturing the commonality and variability in use cases, the framework uses the approach of [2] where use cases are categorized as kernel, optional, or variant. - Evolution and Refinement to Analysis: In this phase, mapping rules are used to establish relationships between kernel, optional, and variant use cases, and concerns. Special Issue of the International Journal of the Computer, the Internet and Management, Vol.15 No. SP4, November,

3 The first step to do this mapping is the creation of Table 1. Table 1. Kernel concerns vs. crosscutting concerns with variants. Crosscutting Concerns Kernel Concerns Optional and Variants Kernel Kernel Kernel Non-Functional concern 1 concern 2 concern n Requirements Optional use Variant 1 X case 1 Variant 2 X Non-functional X X requirement 1 Non-functional requirement n X X X Table 1 works as a production plan because it describes how the products can be created from the core assets. This table also helps to do forward and backward traceability among stages of the software lifecycle because it shows in an easy way which concerns are involved in the architecture. After discovering crosscutting concerns in Table 1, the next step consists on defining aspects from the established crosscutting concerns and to create a refined use case diagram with them. To do this, the following mapping rules are proposed: - If an optional use case crosscuts several kernel use cases, then an aspectual functional case is defined. - If a non-functional requirement crosscuts several kernel use cases, then an aspectual non-functional case is defined. - A <<variant>> use case continues using its representation as <<variant>>. - When there is a relationship between a <<non-functional aspect>> with a <<kernel>> use case, or between a <<functional aspect>> with a <<kernel>> use case, it is represented with the stereotype <<crosscut>> in the refined use-case model. When there is a relationship between a <<variant>> with a <<non-functional aspect>> or <<functional aspect>>, this relationship keeps the <<extend>> relationship. - Domain Analysis: In this phase, the feature, class, and sequence diagrams are created. Here again, we use the stereotype <<crosscut>> to indicate crosscutting relationships. Fig. 2 shows a fragment of the sequence diagram for the use case Input Service. The stereotype <<pointcut>> taken from AspectJ [3] is used in order to define the points where the aspects crosscut the execution of the program. - Evolution and Refinement to Design: To facilitate the reuse and understanding of core assets in different products, kernel classes and aspects are grouped in different packages depending on their stereotypes and preserving the relationships that were created in the class diagram at the Domain Analysis phase. Figure 2. Fragment of the sequence diagram for the use case Input Service. - Domain Design: The refined class model is created here. It addresses the design of classes and aspects by determining their operations and attributes. - Domain Implementation: In this phase, software components and aspects are developed for systematic reuse across the 13.3

4 Germán Harvey Alférez Salinas, and Poonphon Suesaowaluk product line. AspectJ [3] was used in the construction of the case study. 3.2 Application Engineering: In the Application Engineering activity, the product builders instantiate the production plan, recognizing the variation points being selected for the given product depending on the variabilities that were discovered and defined as functional and non-functional aspects in every stage of the Domain Engineering activity. 4. Related Work Even when [4] presents variability management using four steps, they are not deeply explained in order to be considered a framework. COVAMOF is presented in [5]. It is a variability modeling approach that uniformly models the variability in all abstraction layers of the SPL. However, the graphical notations of the main entities in the COVAMOF Variability View do not use a standardized modeling language such as the UML; it makes its implementation more difficult. Heo and Man [6] use Aspect-Oriented Programming (AOP) as a method for improving the assembling process in SPL. Although they analyze a mini-system that adapts AOP, their research is focused only on the implementation phase. Pohl, et al [7] show a framework for SPL engineering that is based on the differentiation between the Domain and Application Engineering processes. They propose a new graphical notation for variability models that, in contradiction to the use of the UML in our aspect-oriented framework, complicates its adoption in the industry. Finally, even when [8] describes a SPL approach called NAPLES which uses natural language processing and aspect-oriented techniques, it does not apply UML models. 5. Conclusion and Future Work Eleven metrics were applied on the SPL of help desks in order to measure the effectiveness of the proposed framework in the development of SPLs of Web applications. These are the conclusions: the aspect-oriented framework to manage variability in SPLs provides a high support in each one of its stages, a high-level traceability of variability in every stage of the lifecycle, facility to analyze and modularize crosscutting concerns, and high reuse flexibility. Besides, the coupling between object classes can be dramatically decreased, the average number of methods and methods called by local methods can decrease, and cohesion is improved with the use of aspects. There are two areas of future work in order to extend this research: the first one is about working on extending the framework to support the testing of SPLs. The second area is about implementing the framework in a group of software companies in order to get more quantitative and qualitative results. References [1] P. Clements and L. Northrop (2002),. Software Product Lines: Practices and Patterns. Addison-Wesley. [2] H. Gomaa and M. Shin (2002),. Multiple-View Meta-Modeling of Software Product Lines. In Proceedings of the 8 th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 02), Special Issue of the International Journal of the Computer, the Internet and Management, Vol.15 No. SP4, November,

5 [3] G. Kiczales, et al. (2001), An Overview of AspectJ. In Proceedings of the 15 th European Conference on Object Oriented Programming, (ECOOP 2001). [4] J. Gurp, J. Bosch, and M. Svahnberg (2001),. On the Notion of Variability in Software Product Lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), [5] M. Sinnema, et al. (2004), COVAMOF: A Framework for Modeling Variability in Software Product Families. Lecture Notes in Computer Science, Springer Berlin / Heidelberg, vol. 3154/2004, pp [6] S. Heo and E. Man. (2006), Representation of Variability in Software Product Line Using Aspect-Oriented Programming. In Proceedings of the 4 th International Conference on Software Engineering Research, Management and Applications (SERA 06), IEEE Computer Society. [7] K. Pohl, G. Böckle, and F. Van der Linden. (2005), Software Product Line Engineering, Foundations, Principles, and Techniques. Springer. [8] N. Loughran, A. Sampaio and A. Rashid (2005), From Requirements Documents to Feature Models for Aspect Oriented Product Line Implementation. In Proceedings of the Workshop on MDD in Product Lines (held with MODELS 2005) 13.5

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool 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 information

The UML «extend» Relationship as Support for Software Variability

The UML «extend» Relationship as Support for Software Variability The UML «extend» Relationship as Support for Software Variability Sofia Azevedo 1, Ricardo J. Machado 1, Alexandre Bragança 2, and Hugo Ribeiro 3 1 Universidade do Minho, Portugal {sofia.azevedo,rmac}@dsi.uminho.pt

More information

Software Rapid Approach to Agency Design and Development

Software Rapid Approach to Agency Design and Development 1 Introduction Over the past decades, agents have become a powerful software abstraction to support the development of complex and distributed systems (Jennings 2001). They are a natural metaphor to understand

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

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

Improving Decision Making in Software Product Lines Product Plan Management

Improving Decision Making in Software Product Lines Product Plan Management Improving Decision Making in Software Product Lines Product Plan Management Pablo Trinidad, David Benavides, and Antonio Ruiz-Cortés Dpto. de Lenguajes y Sistemas Informáticos University of Seville Av.

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

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

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

15 Jahre Software-Produktlinien: Einführung und aktueller Stand

15 Jahre Software-Produktlinien: Einführung und aktueller Stand Software Systems Engineering 15 Jahre Software-Produktlinien: Einführung und aktueller Stand Mini-Tutorial Dr. Andreas Birk (Software.Process.Management), Prof. Dr. Klaus Schmid (Universität Hildesheim)

More information

Managing Variability in ALPR Software

Managing Variability in ALPR Software Managing Variability in ALPR Software Dr. Marco Sinnema Product Manager Video and ALPR, Q-Free ASA P.O. Box 180, 9410 AD Beilen, The Netherlands tel. +31 593 542055, fax. +31 593 542098 marco.sinnema@q-free.com

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

A Case Study on Variability Management in Software Product Line

A Case Study on Variability Management in Software Product Line A Case Study on Variability in Software Product Line Sabir Hussain (1), Muhammad Asif (2), Muhammad Shahid (3) 1) Department Of Computer Science, National Textile University Faisalabad Pakistan 2) Assistant

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

A Variability Viewpoint for Enterprise Software Systems

A Variability Viewpoint for Enterprise Software Systems 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,

More information

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

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures SOPLE-DE: An Approach to Design -Oriented Product Line Architectures Flávio M. Medeiros, Eduardo S. de Almeida 2, and Silvio R.L. Meira Federal University of Pernambuco (UFPE) 2 Federal University of Bahia

More information

Towards an automated testing framework to manage variability using the UML Testing Profile

Towards an automated testing framework to manage variability using the UML Testing Profile Automation of Software Test (AST 09) May 18, Vancouver, Canada Towards an automated testing framework to manage variability using the UML Testing Profile Beatriz Pérez Lamancha Software Testing Centre

More information

Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.

Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development. Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Systematic Review

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

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

Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study

Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study Farhad Soleimanian Gharehchopogh Department of Computer Engineering, Science and Research Branch, Islamic

More information

Agile and Software Product Line Methods: Are They So Different?

Agile and Software Product Line Methods: Are They So Different? Agile and Software Product Line Methods: Are They So Different? Kun Tian Department of Computer Science The University of Texas at Dallas Mail Station ECSS 3.1 2601 North Floyd Road Richardson, Texas,

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

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.

More information

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

Variability in Service-Oriented Systems: An Analysis of Existing Approaches Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University

More information

Separating Concerns in Software Logistics

Separating Concerns in Software Logistics Separating Concerns in Software Logistics Danny Greefhorst Software Engineering Research Centre PO Box 424, 3500 AK The Netherlands greefhor@serc.nl Software logistics deals with the storage, administration,

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

Systematic Management of Variability in UML-based Software Product Lines

Systematic Management of Variability in UML-based Software Product Lines Journal of Universal Computer Science, vol. 16, no. 17 (2010), 2374-2393 submitted: 15/2/10, accepted: 30/8/10, appeared: 1/9/10 J.UCS Systematic Management of Variability in UML-based Software Product

More information

Model-Driven Cloud Data Storage

Model-Driven Cloud Data Storage Model-Driven Cloud Data Storage Juan Castrejón 1, Genoveva Vargas-Solar 1, Christine Collet 1, and Rafael Lozano 2 1 Université de Grenoble, LIG-LAFMIA, 681 rue de la Passerelle, Saint Martin d Hères,

More information

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Ludmila Penicina Institute of Applied Computer Systems, Riga Technical University, 1 Kalku, Riga, LV-1658,

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

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

Change Pattern-Driven Traceability of Business Processes

Change Pattern-Driven Traceability of Business Processes Proceedings of the International MultiConference of Engineers and Computer Scientists 2014 Vol I,, March 12-14, 2014, Hong Kong Change Pattern-Driven Traceability of Business Processes Watcharin Uronkarn

More information

Business Family Engineering: Does it make sense?

Business Family Engineering: Does it make sense? Business Family Engineering: Does it make sense? Ildefonso Montero, Joaquín Peña, Antonio Ruiz-Cortés Departamento de Lenguajes y Sistemas Informáticos Av. Reina Mercedes s/n, 41012 Seville (Spain) University

More information

A Framework for Software Architecture Visualization and Evaluation

A Framework for Software Architecture Visualization and Evaluation A Framework for Software Architecture Visualization and Evaluation Dr. S. Margret Anouncia Merin Cherian Anubhuti Parija Professor, M.S Software Engg M.S Software Engg School of Computing Sciences VITU,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 3, March-April 2004 Software Product Lines John D. McGregor, Clemson

More information

Carrying Ideas from Knowledge-based Configuration to Software Product Lines

Carrying Ideas from Knowledge-based Configuration to Software Product Lines Carrying Ideas from Knowledge-based Configuration to Software Product Lines Juha Tiihonen 1, Mikko Raatikainen 2, Varvana Myllärniemi 2, and Tomi Männistö 1 1 {firstname.lastname}@cs.helsinki.fi, University

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

A Configuration Management Model for Software Product Line

A Configuration Management Model for Software Product Line A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA ligyu@iusb.edu 2 Computer

More information

Variability Integration at Requirements and Architecture Level in Software Product Line Engineering

Variability Integration at Requirements and Architecture Level in Software Product Line Engineering Variability Integration at Requirements and Architecture Level in Software Product Line Engineering Shahliza Abd Halim Software Engineering Department Faculty of Computer Science and Information System

More information

RETRATOS: Requirement Traceability Tool Support

RETRATOS: Requirement Traceability Tool Support RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com

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

Comparing Practices for Reuse in Integration-oriented Software Product Lines and Large Open Source Software Projects

Comparing Practices for Reuse in Integration-oriented Software Product Lines and Large Open Source Software Projects Comparing Practices for Reuse in Integration-oriented Software Product Lines and Large Open Source Software Projects Jilles van Gurp, Christian Prehofer, Nokia [jilles.vangurp christian.prehofer]@nokia.com

More information

Software Product Lines

Software Product Lines Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:

More information

A software product line approach for the development of construction safety IT solutions

A software product line approach for the development of construction safety IT solutions Creative Construction Conference 2015 A software product line approach for the development of construction safety IT solutions Annie Guerriero*, Alain Vagner Luxembourg Institute of Science and Technology

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization

Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization Jan Bosch University of Groningen Department of Computing Science PO Box 800, 9700 AV, Groningen The Netherlands

More information

A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

More information

Structuring Software Architecture Project Memories

Structuring Software Architecture Project Memories Structuring Software Architecture Project Memories Remco C. de Boer, Rik Farenhorst, Viktor Clerc, Jan S. van der Ven, Vrije Universiteit, Amsterdam, the Netherlands {remco, rik, viktor, patricia, hans}@few.vu.nl

More information

Component Based Development Methods - comparison

Component Based Development Methods - comparison Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier

More information

An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System

An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System Christian Manz, Michael Schulze 2, and Manfred Reichert Group Research & Advanced Engineering

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

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

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

More information

Tailoring the Scrum Development Process to Address Agile Product Line Engineering

Tailoring the Scrum Development Process to Address Agile Product Line Engineering Tailoring the Scrum Development Process to Address Agile Product Line Engineering Jessica Díaz, Jennifer Pérez, Agustín Yagüe and Juan Garbajosa Technical University of Madrid (UPM) - Universidad Politécnica

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Process-Family-Points

Process-Family-Points Process-Family-Points Sebastian Kiebusch 1, Bogdan Franczyk 1, and Andreas Speck 2 1 University of Leipzig, Faculty of Economics and Management, Information Systems Institute, Germany kiebusch@wifa.uni-leipzig.de,

More information

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization Standards Initiatives for Software Product Line Engineering and within the International Organization for Standardization Timo Käkölä University of Jyväskylä 40014 University of Jyväskylä, Finland timokk@jyu.fi

More information

Change Management: Modeling Software Product Lines Evolution

Change Management: Modeling Software Product Lines Evolution Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,

More information

A Process Model for Software Architecture

A Process Model for Software Architecture 272 A Process Model for Software A. Rama Mohan Reddy Associate Professor Dr. P Govindarajulu Professor Dr. M M Naidu Professor Department of Computer Science and Engineering Sri Venkateswara University

More information

Software Construction

Software Construction Software Construction Staff Faculty: Univ.-Prof. Dr. rer. nat. Horst Lichter lichter@informatik.rwth-aachen.de Secretary: Bärbel Kronewetter Phone: +49 241 80 21 330 Fax: +49 241 80 22 352 Research Assistants:

More information

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge.

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge. Global distributed development White paper July 2009 Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge. Integrating MDD and SPL to effectively

More information

Managing Variability in Software Architectures 1 Felix Bachmann*

Managing 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

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

The Advantages of Dynamic Software Product Lines

The Advantages of Dynamic Software Product Lines Dynamic Software Product Lines for Service-Based Systems Paul Istoan, Gregory Nain, Gilles Perrouin, Jean-Marc Jézéquel INRIA, Centre Rennes - Bretagne Atlantique, Campus de Beaulieu, Bat 12F 35042 Rennes,

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

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

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

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

Architecture Centric Development in Software Product Lines

Architecture Centric Development in Software Product Lines Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National

More information

An Integrated Quality Assurance Framework for Specifying Business Information Systems

An Integrated Quality Assurance Framework for Specifying Business Information Systems An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany

More information

Product Line Implementation using Aspect-Oriented and Model-Driven Software Development

Product Line Implementation using Aspect-Oriented and Model-Driven Software Development Product Line Implementation using Aspect-Oriented and Model-Driven Software Development Markus Voelter 1, Iris Groher 2 1 Independent Consultant, Heidenheim, Germany 2 Siemens AG, CT SE 2, Munich, Germany

More information

Identifying Candidate Aspects with I-star Approach

Identifying Candidate Aspects with I-star Approach Identifying Candidate Aspects with I-star Approach Fernanda Alencar 1 *, Carla Silva 2, Ana Moreira 3, João Araújo 3, Jaelson Castro 2 1 Dept. Eletrônica e Sistemas - Universidade Federal de Pernambuco

More information

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

AOSD - Enhancing SoC. 07.05.2007 :: INF5120 :: Mansur Ali Abbasi. AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns 07.05.2007 :: INF5120 :: Mansur Ali Abbasi AOSD - Enhancing SoC AOSD :: Aspect Oriented Software Development SoC :: Separation of Concerns 1 NB! This lecture leans on conciseness rather than completeness

More information

Testing a Software Product Line

Testing a Software Product Line Testing a Software Product Line John D. McGregor December 2001 TECHNICAL REPORT CMU/SEI-2001-TR-022 ESC-TR-2001-022 Pittsburgh, PA 15213-3890 Testing a Software Product Line CMU/SEI-2001-TR-022 ESC-TR-2001-022

More information

Exploring Architectural Design Decision Management Paradigms for Global Software Development

Exploring Architectural Design Decision Management Paradigms for Global Software Development Exploring Architectural Design Decision Management Paradigms for Global Software Development Meiru Che, Dewayne E. Perry Department of Electrical & Computer Engineering The University of Texas at Austin

More information

An Architecture-Based Approach for Component-Oriented Development

An Architecture-Based Approach for Component-Oriented Development An Architecture-Based Approach for Component-Oriented Development Feng Chen, Qianxiang Wang, Hong Mei, Fuqing Yang Department of Computer Science and Technology, Peking University, Beijing 100871, P.R.China

More information

Family Evaluation Framework overview & introduction

Family Evaluation Framework overview & introduction A Family Evaluation Framework overview & introduction P B Frank van der Linden O Partner: Philips Medical Systems Veenpluis 4-6 5684 PC Best, the Netherlands Date: 29 August, 2005 Number: PH-0503-01 Version:

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified

More information

TAPISTRY: A Software Process Improvement Approach Tailored for Small Enterprises

TAPISTRY: A Software Process Improvement Approach Tailored for Small Enterprises TAPISTRY: A Software Process Improvement Approach Tailored for Small Enterprises Joey van Angeren (3227162) Group 2 Department of Information and Computing Sciences, Utrecht University Princetonplein 5,

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

From a Business Component to a Functional Component using a Multi-View Variability Modelling

From a Business Component to a Functional Component using a Multi-View Variability Modelling From a Business Component to a Functional Component using a Multi-View Variability Modelling Rajaa Saidi 1,2,3, Agnès Front 1, Dominique Rieu 1, Mounia Fredj 2, Salma Mouline 3 (1) LIG SIGMA Team, BP 72,

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Automating Product Derivation in SoftwareProduct Line Engineering

Automating Product Derivation in SoftwareProduct Line Engineering Automating Product Derivation in SoftwareProduct Line Engineering Goetz Botterweck Lero, Univ. of Limerick Limerick, Ireland goetz.botterweck@lero.ie Kwanwoo Lee Hansung University Seoul, South Korea kwlee@hansung.ac.kr

More information

Implementing QoS Aware Component-Based Applications

Implementing QoS Aware Component-Based Applications Implementing QoS Aware Component-Based Applications Avraam Chimaris and George A. Papadopoulos Department of Computer Science, University of Cyprus 75 Kallipoleos Street, POB 20537, CY-1678, Nicosia, Cyprus

More information

Strategic Release Planning Challenges for Global Information Systems A Position Paper

Strategic Release Planning Challenges for Global Information Systems A Position Paper Strategic Release Planning Challenges for Global Information Systems A Position Paper Gabriele Zorn-Pauli 1, Barbara Paech 1 and Jens Wittkopf 2 1 University of Heidelberg, Im Neuenheimer Feld 326, 69120

More information

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011 Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences

More information

SPLConfig: Product Configuration in Software Product Line

SPLConfig: Product Configuration in Software Product Line SPLConfig: Product Configuration in Software Product Line Lucas Machado, Juliana Pereira, Lucas Garcia, Eduardo Figueiredo Department of Computer Science, Federal University of Minas Gerais (UFMG), Brazil

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

Software Product Line Engineering to Develop Variant-rich Web Services

Software Product Line Engineering to Develop Variant-rich Web Services Software Product Line Engineering to Develop Variant-rich Web Services Bardia Mohabbati, Mohsen Asadi, Dragan Gašević, and Jaejoon Lee Abstract Service-Oriented Architecture (SOA) enables enterprise for

More information

Variation Management for Software Production Lines 1

Variation 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 information

A Pattern for the Decomposition of Business Processes

A Pattern for the Decomposition of Business Processes A Pattern for the Decomposition of Business Processes Maryam Radgui 1, Rajaa Saidi 1;2 and Salma Mouline 1 1 LRIT associated unit with CNRST (URAC 29), Faculty of Sciences, Mohammed V-Agdal University

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 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 information

Product-Line Instantiation Guided By Subdomain Characterization: A Case Study

Product-Line Instantiation Guided By Subdomain Characterization: A Case Study Product-Line Instantiation Guided By Subdomain Characterization: A Case Study Patricia Pernich and Agustina Buccella and Alejandra Cechich and Maximiliano Arias and Matias Pol la GIISCO Research Group

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A Comparison of SOA Methodologies Analysis & Design Phases 202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering

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