A Lightweight Language for Software Product Lines Architecture Description

Size: px
Start display at page:

Download "A Lightweight Language for Software Product Lines Architecture Description"

Transcription

1 A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN Federal University of Rio Grande do Norte Natal, Brazil Abstract. The architecture description of a software product line (SPL) is essential to make it clear how the architecture realizes the feature model and to represent both the domain and application engineering architectural artefacts. However, most architecture description languages (ADLs) for SPL have limited support regarding variability management and they do not express the relationship between features and the architecture, besides the lack of tools for graphical and textual modelling and a non-clear separation between the domain and application engineering activities. In order to overcome these deficiencies, this paper presents LightPL-ACME, an ADL whose main goal is to be a simple, lightweight language for the SPL architecture description, and enable the association between the architectural specification and the artefacts involved in the SPL development process, including the relationship with the feature model and the representation of both domain and application engineering elements. Keywords: Software product lines architectures, Architecture description languages, ACME, LightPL-ACME 1 Introduction Software product lines (SPLs) [1] consist of an approach for deriving applications that shares a specific set of common features (commonalities) and have variabilities that distinguish the specific applications, thus supporting the development of a product family. The SPL development process follows two main activities: (i) domain engineering, which aims to systematize the gathering, organization, and storage of reusable and consistent information in the form of artefacts, thus exploring similarities while preserving the ability to build different products, and; (ii) application engineering, which aims to specify and customize different products from the artefacts generated by the domain engineering activity. The architectural description is one of the activities involved in the development of an SPL that enables to anticipate important decisions regarding the system design and represent architectural characteristics of the SPL. In the software architecture context, architecture description languages (ADLs) [2] provide

2 2 Silva et al. abstractions for representing architectures through components, connectors, and configurations. Components represent software functionalities, connectors are communication elements, and configurations describe the relationship between components and connectors. Although there are some ADLs for describing SPL architectures [3 5], most of them have limited support regarding the management of variabilities since they only focus on documenting SPL concepts (similarities and variabilities) and architectural elements rather than the relationship and traceability between the variabilities represented in the feature model and the architecture of an SPL. Moreover, these ADLs do not express the relationship between features and the architecture and suffer from the following limitations: (i) high verbosity that makes the architectural description confusing and difficult to understand; (ii) complexity for instantiating products; (iii) lack of tools for graphical and textual modeling; and (iv) lack of a clear separation between the domain and application engineering activities in the SPL development process. In this context, this paper presents LightPL-ACME, an ADL that aims to provide a lightweight strategy for describing architectures of SPLs in order to overcome the abovementioned limitations. We have chosen the ACME ADL [6] as basis of the proposed ADL since ACME provides generic structures to cope with a wide range of systems and includes a language based on first-order predicate logic called Armani [7], which is used to design architectural constraints. The main features of LightPL-ACME are: (i) semantic enrichment of ACME elements originally used to specify the SPL architecture, the so-called base architecture; (ii) elements designed to enable the definition of the referenced architecture, which is a base architecture whose elements refer to the features of the SPL; and (iii) products instantiation, which is based on the architectural description of the SPL and the referenced architecture. In this paper, we illustrate the main elements of the LightPL-ACME ADL with the GingaForAll [8] SPL for Ginga [9], the middleware adopted by the Brazilian Digital Television System (SBTVD). This paper is structured as follows. Section 2 describes the basic concepts regarding SPLs and provides an overview about the ACME/Armani ADL. Section 3 presents LightPL-ACME and its application for describing the GingaForAll SPL. Section 4 presents the LightPL-ACME Studio tool. Section 5 presents related work. Finally, Section 6 contains final remarks and future works. 2 Background 2.1 Software product lines Software product lines (SPLs) [1] enable the creation of a family (or product line) of similar products by using a common software infrastructure to mount and configure parts designed to be reused among products and following two main activities, namely domain engineering and application engineering [11]. The construction of a software product, also called instantiation or derivation,

3 A Lightweight Language for SPL Architecture Description 3 is made from a configuration of core assets, which consists of an arrangement of the software artefacts that implement the product. In the SPL development, the members of a family have a basic set of common functionalities and associated variants that individualize each one of these members. Typically, similarities and variabilities among products of a family are modelled in terms of features, which are concepts that may be a requirement, a function, or a non-functional feature [1]. Features are organized in feature models, which that represent similarities, variabilities, and constraints related to the variations between features and their relationships. In general, feature models have a tree structure in which features are represented by nodes of the tree and the variations between features are represented by edges and feature groups, so that the hierarchical organization of the diagram describes the key concept from more general to more specific concepts as they descend the tree. Furthermore, features can be [10]: (i) mandatory, i.e. the feature must be included in a product; (ii) optional, i.e. the feature may or may not be included if the feature from which it derives is selected; (iii) inclusive-or, i.e. among the set of related features at least one of them must be selected, and; (iv) alternative, i.e. among the set of related features exactly one of them must be selected. 2.2 ACME/Armani ACME [6] is a generic ADL that provides a basis for developing new domainspecific ADLs. A system is described in ACME by seven basic elements: Component, Connector, System, Attachment, Port, Role, and Representation. Components are computational entities that can have multiple interfaces called Ports. The ports of a component are bound to the ports of other components through Connectors, which can have multiple interfaces called Roles. Systems are abstractions that represent configurations of components and connectors including a set of Component elements, a set of Connector elements, and a set of Attachment elements that describe the topology of the system in terms of Port Role associations. Representations are alternative architecture views of an element or more detailed decompositions of a given element (component, connector, port or role). Furthermore, architectural elements can be annotated in order to represent behavioral and non-functional properties by using Property elements. Properties have the form of <name, type, value> triples and can be used in any of the ACME elements. ACME also enables to define architectural styles in order to increase reuse and expressiveness, which is done through the Type and Family elements. In ACME, an architectural style defines a family of systems, through Family element, in terms of a structural organization pattern that contains a vocabulary of element types and a set of constraints that indicate how these elements can be combined, and the Type element is used to define a vocabulary of abstract types of ACME elements. In turn, Armani [7] is an ACME extension and consists of a predicate language based on first-order logic used to express architectural constraints over ACME elements. Such constraints are defined in terms of invariants, design constraints that must be fulfilled, and heuristics, design constraints that may or may not be fulfilled.

4 4 Silva et al. 3 LightPL-ACME LightPL-ACME is an ADL proposed as an ACME extension that aims to provide a lightweight, simple language for SPL architecture description, so that it is possible to associate such description with the artefacts related to the domain engineering and application engineering activities in the SPL development process. It supports the separation of these SPL activities by creating specific abstractions for features (related to the domain engineering activity) and products (related to the application engineering activity). Moreover, LightPL-ACME was designed envisioning the representation of the architecture and its relationship with the features. The following subsections present the main elements of the LightPL-ACME ADL. 3.1 ProductLine, Feature, and Product elements The ProductLine element has similar characteristics to the ACME Family element, which is semantically and syntactically enriched in order to represent the SPL, thus enabling the user to describe its specific elements, such as features and products. Within the ProductLine element, the Feature element is defined to represent the features that compose the SPL and is specified by the definition of an identifier and an associated type related to the types of features that may occur in an SPL: (i) Mandatory, which represents mandatory features; (ii) Optional, which represents optional features; (iii) Alternative, which represents alternative features, and; (iv) InclusiveOr, which represents inclusive-or features. Additionally, the extends mechanism provided by ACME enables to establish an inheritance relationship between two features. Fig. 1 illustrates the definition of the Demultiplexer, Hardware, and Software features for the GingaCC ProductLine element and its corresponding feature model. The Demultiplexer feature is mandatory (line 3), and the Hardware and Software features are alternative and derived from the Demultiplexer feature (lines 4 and 5). Fig. 1. Features and product description in a ProductLine element and its corresponding depiction as a feature model. In order to complement the description of the features in an SPL, LightPL- ACME provides Armani [7] functions for specifying constraints between Feature

5 A Lightweight Language for SPL Architecture Description 5 elements in a ProductLine element, namely the requires (for dependency) and excludes (for mutual exclusion) functions, which receive as parameters the identifiers of the Feature elements included in the relationship. Finally, the Product element corresponds to the concept of products that can be generated by an SPL. The specification of this element consists of an identifier regarding the product that is being specified and a set of identifiers regarding the Feature elements that compose this product. The inclusion of Feature elements also occurs by hierarchy, so that the inclusion of a Feature element in a Product element includes all of its direct dependencies, which take place through the inheritance relationship. 3.2 Referenced architectures In LightPL-ACME, referenced architectures are artefacts related to the system architecture and consist of a description of the base architecture that is enriched with references to the Feature elements previously described in a ProductLine element. This notion of referenced architectures in terms of mapping architectural elements to features is part of the well-known concept of configuration knowledge [11], which represents all available information used to support the product derivation process and includes this mapping between SPL artefacts and features. In LightPL-ACME, the mapping mechanism between architectural elements and features in order to compose the referenced architecture is made by using the keyword MappedTo followed by a set of Feature elements and can be added to the specification most of the conventional ACME elements after their names. In order to make Feature elements (that represent the features) accessible in the referenced architecture, it is necessary that the System element that represents the complete system has been adhered to the architectural style described by a ProductLine element. Fig. 2 illustrates the mapping between the base architecture and the GingaForAll SPL architectural description in order to compose the referenced architecture, which is represented by the GingaFull System that adheres to the GingaForAll ProductLine. It is important to highlight that all features described in the ProductLine element associated with the referenced architecture must be mapped to at least one element of the architecture, otherwise the architecture does not fulfill the ProductLine. However, there may be architectural elements that are not being mapped to Feature elements and then they can be interpreted as implementation-specific elements. 4 LightPL-ACME Studio LightPL-ACME Studio 1 [12] is a tool developed as an Eclipse IDE plug-in that was designed to assist the SPL development and support the textual specification and graphical representation of architectures described in LightPL-ACME. 1 The LightPL-ACME Studio tool is available as free download from:

6 6 Silva et al. Fig. 2. Mapping to the referenced architecture in LightPL-ACME. The tool enables to specify architectural descriptions, create and edit LightPLACME elements (e.g. ProductLine), and represent referenced architectures, besides maintaining an automatic correspondence between textual and graphic descriptions. Fig. 3 illustrates a partial textual description of the GingaForAll SPL in LightPL-ACME and its corresponding graphical representation in the LightPL-ACME Studio tool. Fig. 3. Partial textual description of the GingaForAll ProductLine (left) and its corresponding graphical representation. Furthermore, LightPL-ACME Studio also enables to define the mapping between elements in the base architecture and features of the SPL by accessing the properties of the architectural element and choosing the features to which such element will be mapped, as exemplified in Fig Related Work In this section we present some proposals of the literature regarding ADLs to SPL architectural description. In ADLARS [3] the relationship between features and the architectural description is explicitly done through conditional expressions, so that a Component Template specifies the collection of possible component

7 A Lightweight Language for SPL Architecture Description 7 Fig. 4. Mapping from the Ginga CommonCore component in the base architecture to the Ginga feature in the LightPL-ACME Studio tool. configurations and associates these components to the features. xadl 2.0 [4] specifies the architecture using XML (extensible Markup Language) schemas, but this ADL does not define specific elements for representing SPL architectures, thus hampering the identification of the variation points and their relation with the system architecture. In turn, PL-AspectualACME [5] represents variabilities by purely using the conventional ACME abstractions. It combines Representation elements for identifying product variations and Port elements for representing the mechanism of variability selection, features are described as Component Type elements, and the type of a feature (mandatory, optional or alternative) is defined through properties. Unlike LightPL-ACME, none of the abovementioned languages addresses an explicit separation between the domain engineering and application engineering activities and has the concept and representation of the referenced architecture. Moreover, xadl 2.0 and PL-AspectualACME architectural descriptions tend to be verbose, whereas LightPL-ACME provides a simple, lightweight way for describing SPL architectures. Furthermore, LightPL-ACME enables the description of any sort of system since the proposed ADL is a general-purpose language, unlike ADLARS, which is a specific language for embedded systems. 6 Final Remarks This paper presented LightPL-ACME, a simple, lightweight ADL for describing SPL architectures that introduces three essential elements (ProductLine, Feature, and Product) in order to reduce the verbosity and complexity in the description of SPL concepts and enrich elements present in the ACME ADL for SPL description and enable the description of the referenced architecture, a key concept that denotes a base architecture with references to the features described in the SPL. Finally, the LightPL-ACME strategy promotes a clear separation between the domain engineering and application engineering activities that are involved in the SPL development process. and maintains characteristics related to generality, simplicity, expressiveness, and extensibility inherited from ACME by using the existing abstractions of this ADL and avoiding the addition of many new abstractions. The proposed language has also an associated tool called LightPL-

8 8 Silva et al. ACME Studio, which provides textual and graphical support for representing SPL architectures specified in this ADL. LightPL-ACME was evaluated by a controlled experiment with a real-world case study, the GingaForAll SPL, as available at lightplacmestudio/experiments.php. In this experiment, it was possible to observe that LightPL-ACME is able to express important elements of an SPL (such as features and the products that can be generated from them) in a simple, lightweight, clear, and objective way. As directions to future work, we intend to use the LightPL-ACME ADL within a model-driven development strategy in order to automatically generate customized source code from product models and also check the correlation between the source code and the architectural model. References 1. Clements, P., Northrop, L.: Software product lines: Practices and patterns. Addison-Wesley, USA (2001) 2. Medvidovic, N., Taylor, R. N.: A classification and comparison framework for software architecture description languages. IEEE Trans. on Software Engineering 26(1), pp (2000) 3. Bashroush, R. et al.: ADLARS: An architecture description language for software product lines. In: 29th Annual IEEE/NASA Software Engineering Workshop, pp , IEEE Computer Society, USA (2005) 4. Dashofy, E. M. et al.: A highly-extensible, XML-based architecture description language. In: 2001 Working IEEE/IFIP Conf. on Software Architecture, pp , IEEE Computer Society, USA (2001) 5. Barbosa, E. A. et al.: PL-AspectualACME: An aspect-oriented architectural description language for software product lines. In: Crnkovic, I. et al. (eds.) 5th European Conf. on Software Architecture. LNCS, vol. 6903, pp , Springer- Verlag, Germany (2011) 6. Garlan, D. et al.: ACME: An architecture description interchange language. In: 1997 Conf. of the Centre for Advanced Studies on Collaborative Research, pp , IBM Press (1997) 7. Monroe, R.: Capturing software architecture expertise with Armani. Technical report, School of Computer Science, Carnegie Mellon University, USA (1998) 8. Saraiva, D. et al.: Architecting a model-driven aspect-oriented product line for a digital TV middleware: A refactoring experience. In: Ali Babar, M., Gorton, I. (eds.) 4th European Conf. on Software Architecture. LNCS, vol. 6285, pp , Springer-Verlag, Germany (2010) 9. Ginga Middleware: Kang, K. C. et al.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Software Engineering Institute, Carnegie Mellon University, USA (1990) 11. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, tools, and applications. ACM Press/Addison-Wesley, USA (2000) 12. LightPL-ACME Studio: Batista, T. et al.: Aspectual connectors: Supporting the seamless integration of aspects and ADLs. In: XX Brazilian Symposium on Software Engineering, pp , SBC, Brazil (2006)

Usually software system variants, developed by Clone-and-own approach, form

Usually software system variants, developed by Clone-and-own approach, form ABSTRACT Usually software system variants, developed by Clone-and-own approach, form a starting point for building Software Product Line. To migrate software systems which are deemed similar to a product

More information

ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture

ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture ArchFeature: A Modeling Environment Integrating Features into Product Line Architecture Gharib Gharibi and Yongjie Zheng School of Computing and Engineering, University of Missouri-Kansas City, Kansas

More information

Mapping Software Product Line Features to Unmanned Aerial Vehicle Models

Mapping Software Product Line Features to Unmanned Aerial Vehicle Models Mapping Software Product Line Features to Unmanned Aerial Vehicle Models Vanderson H. Fragal, Edson A. Oliveira Junior, Itana M. S. Gimenes Informatics Department State University of Maringá Maringá-PR,

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Modeling variability with UML

Modeling variability with UML Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Comparative Analysis of Architectural Views Based on UML

Comparative Analysis of Architectural Views Based on UML Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes

More information

UC Irvine UC Irvine Previously Published Works

UC Irvine UC Irvine Previously Published Works UC Irvine UC Irvine Previously Published Works Title Differencing and merging within an evolving product line architecture Permalink https://escholarship.org/uc/item/0k73r951 Authors Chen, Ping H Critchlow,

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

More information

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

1 Version management tools as a basis for integrating Product Derivation and Software Product Families 1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab

More information

Variability Implementation Techniques for Platforms and Services (Interim)

Variability Implementation Techniques for Platforms and Services (Interim) Engineering Virtual Domain-Specific Service Platforms Specific Targeted Research Project: FP7-ICT-2009-5 / 257483 Variability Implementation Techniques for Platforms and Services (Interim) Abstract Creating

More information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

Generic Modeling using UML extensions for variability

Generic Modeling using UML extensions for variability Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents

SoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents Architecture Description Languages (ADLs): Introduction, Koala, UML as an ADL T-76.150 Software Architecture Timo Asikainen Contents Brief motivation for ADLs General features of ADLs Koala UML as an ADL

More information

Bridging Missions and Architecture in Software-intensive Systems-of-Systems

Bridging Missions and Architecture in Software-intensive Systems-of-Systems Bridging Missions and Architecture in Software-intensive Systems-of-Systems Eduardo Silva, Everton Cavalcante, Thais Batista Department of Informatics and Applied Mathematics Federal University of Rio

More information

Reconciling the Needs of Architectural Description with Object-Modeling Notations

Reconciling the Needs of Architectural Description with Object-Modeling Notations To Appear: Science of Computer Programming Journal, Special UML Edition, Elsevier Science, ~2001. Reconciling the Needs of Architectural Description with Object-Modeling Notations David Garlan, Shang-Wen

More information

Capturing Design Expertise in Customized Software Architecture Design Environments

Capturing Design Expertise in Customized Software Architecture Design Environments Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture

More information

On the Integration of the Feature Model and PL-AOVGraph

On the Integration of the Feature Model and PL-AOVGraph On the Integration of the Feature Model and PL-AOVGraph Lidiane Santos Computer Science Department Federal University of Rio Grande do Norte (UFRN) diane_lid@hotmail.com Lyrene Silva Computer Science Department

More information

Software Architecture Recovery based on Dynamic Analysis

Software Architecture Recovery based on Dynamic Analysis Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos 1,2, Cláudia Werner 1 1 COPPE/UFRJ System Engineering and Computer Science Program P.O. Box 68511 ZIP 21945-970 Rio de Janeiro

More information

Introduction. ADL Roles

Introduction. ADL Roles Architecture Description Languages (ADLs) 1 Introduction Architecture is key to reducing development costs development focus shifts to coarse-grained elements Formal architectural models are needed ADLs

More information

Product Lines, Features, and MDD 1

Product Lines, Features, and MDD 1 Product Lines, Features, and MDD 1 Bruno González-Baixauli, Miguel A. Laguna, Yania Crespo Department of Computer Science, University of Valladolid, Campus M. Delibes, 47011 Valladolid, Spain {bbaixauli,

More information

Why Consider Implementation-Level Decisions in Software Architectures?

Why Consider Implementation-Level Decisions in Software Architectures? 1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University

More information

Meta Architecting: Towered a New Generation of Architecture Description Languages

Meta Architecting: Towered a New Generation of Architecture Description Languages Journal of Computer Science 1 (4): 454-460, 2005 ISSN 1549-3636 Science Publications, 2005 Meta Architecting: Towered a New Generation of Architecture Description Languages Adel Smeda, Tahar Khammaci and

More information

Visualizing Variability Models Using Hyperbolic Trees

Visualizing Variability Models Using Hyperbolic Trees Visualizing Variability Models Using Hyperbolic Trees R. Bashroush, A. Al-Nemrat, M. Bachrouch, H. Jahankhani School of Computing, IT and Engineering, University of East London, London, United Kingdom

More information

Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations

Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations Towards the Automatic Resolution of Architectural Variability in Software Product Line Architectures through Model Transformations Jesús Benedé ISSI Research Group, Universitat Politècnica de València

More information

A Generative Development Method with Multiple Domain-Specific Languages

A Generative Development Method with Multiple Domain-Specific Languages A Generative Development Method with Multiple Domain-Specific Languages Edmilson Campos 1,2, Uirá Kulesza 1, Marília Freire 1,2 and Eduardo Aranha 1 1 Federal University of Rio Grande do Norte, Natal-RN,

More information

Constraints in Feature Algebra

Constraints in Feature Algebra Constraints in Feature Algebra Andreas Zelend Institut für Informatik, Universität Augsburg, Germany zelend@informatik.uni-augsburg.de Abstract. Feature Algebra captures the commonalities of feature oriented

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

Ontology-based Architecture Documentation Approach

Ontology-based Architecture Documentation Approach 4 Ontology-based Architecture Documentation Approach In this chapter we investigate how an ontology can be used for retrieving AK from SA documentation (RQ2). We first give background information on the

More information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Jorge Gracia, Eduardo Mena IIS Department, University of Zaragoza, Spain {jogracia,emena}@unizar.es Abstract. Ontology matching, the task

More information

Demo Proposal. 1 General Information

Demo Proposal. 1 General Information Demo Proposal 1 General Information Demostration title: FLiP Product Line Derivation Tool Type of demonstration : Forum Contact person: Paulo Borba, phmb@cin.ufpe.br, Informatics Center UFPE, Universidade

More information

Applying the Component Paradigm to AUTOSAR Basic Software

Applying the Component Paradigm to AUTOSAR Basic Software Applying the Component Paradigm to AUTOSAR Basic Software Dietmar Schreiner Vienna University of Technology Institute of Computer Languages, Compilers and Languages Group Argentinierstrasse 8/185-1, A-1040

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Modelling Variation in Quality Attributes

Modelling Variation in Quality Attributes Modelling Variation in Quality Attributes Leire Etxeberria, Goiuria Sagardui, Lorea Belategi Faculty of Engineering University of Mondragon Limerick 16.01.2007 Research group &3 ;078 9 4143/7, 43 Research

More information

Representing Product Family Architectures in an Extensible Architecture Description Language

Representing Product Family Architectures in an Extensible Architecture Description Language Representing Product Family Architectures in an Extensible Architecture Description Language Eric M. Dashofy and André van der Hoek Institute for Software Research University of California, Irvine Irvine,

More information

FaMa-OVM: A Tool for the Automated Analysis of OVMs

FaMa-OVM: A Tool for the Automated Analysis of OVMs FaMa-OVM: A Tool for the Automated Analysis of OVMs Fabricia Roos-Frantz, José A. Galindo, David Benavides and Antonio Ruiz-Cortés University of Seville 41012 Seville, Spain {fabriciaroos,jagalindo,benavides,aruiz}@us.es

More information

Domain Models for Laboratory Integration

Domain Models for Laboratory Integration Models for Laboratory Integration ANCA DANIELA IONITA Computers and Industrial Informatics Department University Politehnica of Bucharest Spl. Independentei 313, 060042, Bucharest ROMANIA Abstract: - Laboratory

More information

Design of a UML profile for feature diagrams and its tooling implementation

Design of a UML profile for feature diagrams and its tooling implementation Design of a UML profile for feature diagrams and its tooling implementation Thibaut Possompès, Christophe Dony, Marianne Huchard, Chouki Tibermacine IBM France PSSC Montpellier Montpellier, France thibaut.possompes@fr.ibm.com

More information

Annotation for the Semantic Web During Website Development

Annotation for the Semantic Web During Website Development Annotation for the Semantic Web During Website Development Peter Plessers and Olga De Troyer Vrije Universiteit Brussel, Department of Computer Science, WISE, Pleinlaan 2, 1050 Brussel, Belgium {Peter.Plessers,

More information

Developing a Product-Line Based Architecture in a Domain Under Research

Developing a Product-Line Based Architecture in a Domain Under Research Developing a Product-Line Based Architecture in a Domain Under Research Valentino Vranić and Vladimír Marko Institute of Informatics and Software Engineering Faculty of Informatics and Information Technology

More information

A Product Line Architecture for Web Applications

A Product Line Architecture for Web Applications A Product Line Architecture for Web Applications L. Balzerani, D. Di Ruscio, A. Pierantonio Dipartimento di Informatica Università degli Studi di L Aquila I 67100 L Aquila, Italy {balzerani, diruscio,

More information

Configuration Management in the STAR Framework *

Configuration Management in the STAR Framework * 3 Configuration Management in the STAR Framework * Helena G. Ribeiro, Flavio R. Wagner, Lia G. Golendziner Universidade Federal do Rio Grande do SuI, Instituto de Informatica Caixa Postal 15064, 91501-970

More information

Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study

Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study Christopher Preschern, Andrea Leitner, and Christian Kreiner Institure for Technical Informatics Graz University of

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Ylvi - Multimedia-izing the Semantic Wiki

Ylvi - Multimedia-izing the Semantic Wiki Ylvi - Multimedia-izing the Semantic Wiki Niko Popitsch 1, Bernhard Schandl 2, rash miri 1, Stefan Leitich 2, and Wolfgang Jochum 2 1 Research Studio Digital Memory Engineering, Vienna, ustria {niko.popitsch,arash.amiri}@researchstudio.at

More information

Architecture-Centric Evolution in Software Product Lines:

Architecture-Centric Evolution in Software Product Lines: Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu

More information

Carrying Ideas from Knowledge-Based Configuration to Software Product Lines. Tiihonen, Juha Tapani.

Carrying Ideas from Knowledge-Based Configuration to Software Product Lines. Tiihonen, Juha Tapani. https://helda.helsinki.fi Carrying Ideas from Knowledge-Based Configuration to Software Product Lines Tiihonen, Juha Tapani Springer International Publishing AG 2016-05 Tiihonen, J T, Raatikainen, M, Myllärniemi,

More information

ADLARS: An Architecture Description Language for Software Product Lines

ADLARS: An Architecture Description Language for Software Product Lines ADLARS: An Architecture Description Language for Software Product Lines R. Bashroush, T.J. Brown, I. Spence, P. Kilpatrick Queens University Belfast, School of Computer Science, 18 Malone Road, Belfast

More information

Component-Based Applications: A Dynamic Reconfiguration Approach with Fault Tolerance Support

Component-Based Applications: A Dynamic Reconfiguration Approach with Fault Tolerance Support Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 9 pages Component-Based Applications: A Dynamic Reconfiguration Approach with Fault

More information

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS YUJUN ZHU, ZHONGWEI XU, MENG MEI School of Electronics & Information Engineering, Tongji University,

More information

Perspectives on User Story Based Visual Transformations

Perspectives on User Story Based Visual Transformations Perspectives on User Story Based Visual Transformations Yves Wautelet 1, Samedi Heng 2, and Manuel Kolp 2 1 KU Leuven, Belgium yves.wautelet@kuleuven.be, 2 LouRIM, Université catholique de Louvain, Belgium

More information

Integrating Software Architecture Concepts into the MDA Platform with UML Profile

Integrating Software Architecture Concepts into the MDA Platform with UML Profile Journal of Computer Science 3 (10): 793-802, 2007 ISSN 1549-3636 2007 Science Publications Integrating Software Architecture Concepts into the MDA Platform with UML Profile 1 Adel Alti, 2 Tahar Khammaci

More information

Variability Management in Aspect-Oriented Architecture Description Languages: An Integrated Approach

Variability Management in Aspect-Oriented Architecture Description Languages: An Integrated Approach 2009 XXIII Brazilian Symposium on Software Engineering Variability Management in Aspect-Oriented Architecture Description Languages: An Integrated Approach Eiji Adachi, Thaís Batista, Uirá Kulesza, Ana

More information

Integrating Domain Specific Modeling into the Production Method of a Software Product Line

Integrating Domain Specific Modeling into the Production Method of a Software Product Line Integrating Domain Specific Modeling into the Production Method of a Software Product Line Gary J. Chastek Software Engineering Institute John D. McGregor Clemson University Introduction This paper describes

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Applying the Semantic Web Layers to Access Control

Applying the Semantic Web Layers to Access Control J. Lopez, A. Mana, J. maria troya, and M. Yague, Applying the Semantic Web Layers to Access Control, IEEE International Workshop on Web Semantics (WebS03), pp. 622-626, 2003. NICS Lab. Publications: https://www.nics.uma.es/publications

More information

Winery A Modeling Tool for TOSCA-Based Cloud Applications

Winery A Modeling Tool for TOSCA-Based Cloud Applications Winery A Modeling Tool for TOSCA-Based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2,UweBreitenbücher 2, and Frank Leymann 2 1 IPVS, University of Stuttgart, Germany 2 IAAS, University of Stuttgart,

More information

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista Software Architecture in Action Flavio Oquendo, Jair C Leite, Thais Batista Motivation 2 n In this book you can learn the main software architecture concepts and practices. n We use an architecture description

More information

1 Motivation and Background

1 Motivation and Background David Garlan and Andrew Kompanek (with John Kenney, David Luckham, Bradley Schmerl and Dave Wile) September 2000 1 Motivation and Background Over the past decade numerous architecture description languages

More information

Using Acme to Specify the Software Architecture of the OpenH323 Open Source Code

Using Acme to Specify the Software Architecture of the OpenH323 Open Source Code Using Acme to Specify the Software Architecture of the OpenH323 Open Source Code FERNANDO NEY C. NASCIMENTO, ANTÔNIO C. THEÓPHILO C. JÚNIOR, VIRGÍNIA C. C. DE PAULA, GUIDO LEMOS DE S. FILHO DIMAp CCET

More information

USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS

USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS USING ASPECT-ORIENTED CONCEPTS IN THE REQUIREMENTS ANALYSIS OF DISTRIBUTED REAL-TIME EMBEDDED SYSTEMS Edison P. Freitas 1, Marco A. Wehrmeister 1,3, Carlos E. Pereira 1,2, Flavio R. Wagner 1, Elias T.

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

Integrating decision management with UML modeling concepts and tools

Integrating decision management with UML modeling concepts and tools Downloaded from orbit.dtu.dk on: Dec 17, 2017 Integrating decision management with UML modeling concepts and tools Könemann, Patrick Published in: Joint Working IEEE/IFIP Conference on Software Architecture,

More information

Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools

Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools Feature Model to Orthogonal Variability Model Transformation towards Interoperability between Tools Fabricia Roos-Frantz 1, David Benavides 2 and Antonio Ruiz-Cortés 2 1 Unijuí, Departmento de Tecnologia

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

Interoperability and Service Oriented Architecture an Enterprise Architect's approach

Interoperability and Service Oriented Architecture an Enterprise Architect's approach Interoperability and Service Oriented Architecture an Enterprise Architect's approach Peter Bernus and Ovidiu Noran 1 Griffith University, Nathan (Brisbane) Queensland 4111, Australia P.Bernus@griffith.edu.au,

More information

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Muhammad Ali Babar National ICT Australia Ltd. and University of New South

More information

Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components

Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components E James Montgomery, Rune Meling, Daniela Mehandjiska School of Information Technology Bond University Queensland, Australia

More information

Customized UI Development Through Context-Sensitive GUI Patterns

Customized UI Development Through Context-Sensitive GUI Patterns Customized UI Development Through Context-Sensitive GUI Patterns Enes Yigitbas, Stefan Sauer Paderborn University, s-lab Software Quality Lab Abstract Developing highly flexible and easy to use user interfaces

More information

Semantic Event Correlation Using Ontologies

Semantic Event Correlation Using Ontologies Semantic Event Correlation Using Ontologies Thomas Moser 1, Heinz Roth 2, Szabolcs Rozsnyai 3, Richard Mordinyi 1, and Stefan Biffl 1 1 Complex Systems Design & Engineering Lab, Vienna University of Technology

More information

Available online at ScienceDirect. Procedia Computer Science 34 (2014 ) Generic Connector for Mobile Devices

Available online at  ScienceDirect. Procedia Computer Science 34 (2014 ) Generic  Connector for Mobile Devices Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 34 (2014 ) 613 618 International Symposium on Emerging Inter-networks, Communication and Mobility (EICM-2014) Generic Email

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

Using the UML for Architectural Description Rich Hilliard

Using the UML for Architectural Description Rich Hilliard Using the UML for Architectural Description Rich Hilliard rh@isis2000.com Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the

More information

Architecting IoT Applications with SysADL

Architecting IoT Applications with SysADL 2017 IEEE International Conference on Software Architecture Workshops Architecting IoT Applications with SysADL Jair Leite, Thais Batista Computer Science Department Federal University of Rio Grande do

More information

Reverse Engineering Feature Models From Programs Feature Sets

Reverse Engineering Feature Models From Programs Feature Sets 2011 18th Working Conference on Reverse Engineering Reverse Engineering Feature Models From Programs Feature Sets Evelyn Nicole Haslinger k0855482@students.jku.at Roberto E. Lopez-Herrejon roberto.lopez@jku.at

More information

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach Carlos Eugênio Palma da Purificação / Paulo Caetano da Silva Salvador University (UNIFACS) Salvador, Brazil email:

More information

Self-Adaptive Middleware for Wireless Sensor Networks: A Reference Architecture

Self-Adaptive Middleware for Wireless Sensor Networks: A Reference Architecture Architecting Self-Managing Distributed Systems Workshop ASDS@ECSAW 15 Self-Adaptive Middleware for Wireless Sensor Networks: A Reference Architecture Flávia C. Delicato Federal University of Rio de Janeiro

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Style-specific techniques to design product-line architectures

Style-specific techniques to design product-line architectures Style-specific techniques to design product-line architectures Philippe Lalanda Thomson-CSF Corporate Research Laboratory Phone: 33 1 69 33 92 90 Email: lalanda@thomson-lcr.fr Domaine de Corbeville 91404

More information

COrDeT Cannes : Use of domain engineering process to develop reusable architectures and building-blocks

COrDeT Cannes : Use of domain engineering process to develop reusable architectures and building-blocks COrDeT Cannes : Use of domain engineering process to develop reusable architectures and building-blocks G. Garcia 1, X. Olive 1, A. Pasetti 2, O. Rohlik 2, T. Vardanega 3, A.-I. Rodríguez-Rodríguez 4 A.

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Towards semantic modelling of business processes for networked enterprises

Towards semantic modelling of business processes for networked enterprises Towards semantic modelling of business processes for networked enterprises Karol Furdík 1, Marián Mach 2, Tomáš Sabol 3 1 InterSoft, a.s., Florianska 19, 040 01 Kosice, Slovakia karol.furdik@intersoft.sk

More information

The SRAMO Technique for Analysis and Reuse of Requirements in Multi-agent Application Engineering

The SRAMO Technique for Analysis and Reuse of Requirements in Multi-agent Application Engineering The SRAMO Technique for Analysis and Reuse of Requirements in Multi-agent Engineering Alisson Neres Lindoso, Rosario Girardi Research Group on Software Engineering and Knowledge Engineering (GESEC) Department

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) m2n: Translating Models to Natural Language

More information

SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS

SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS SWRL RULE EDITOR: A WEB APPLICATION AS RICH AS DESKTOP BUSINESS RULE EDITORS João Paulo Orlando 1, Adriano Rívolli 1, Saeed Hassanpour 2, Martin J. O'Connor 2, Amar Das 2, and Dilvan A. Moreira 1 1 Dept.

More information

A Design Rationale Representation for Model-Based Designs in Software Engineering

A Design Rationale Representation for Model-Based Designs in Software Engineering A Design Rationale Representation for Model-Based Designs in Software Engineering Adriana Pereira de Medeiros, Daniel Schwabe, and Bruno Feijó Dept. of Informatics, PUC-Rio, Rua Marquês de São Vicente

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Towards Process-based Composition of Activities for Collecting Data in Supply Chains

Towards Process-based Composition of Activities for Collecting Data in Supply Chains Towards Process-based Composition of Activities for Collecting Data in Supply Chains Gregor Grambow, Nicolas Mundbrod, Vivian Steller and Manfred Reichert Institute of Databases and Information Systems

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

DESIGN PATTERN MATCHING

DESIGN PATTERN MATCHING PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of

More information

Product Line Evolution Using Source Packages

Product Line Evolution Using Source Packages Product Line Evolution Using Source Packages Arie van Deursen Merijn de Jonge CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands http://www.cwi.nl/ {arie,mdejonge} Abstract We present a language-independent

More information

Game Architecture and Modeling Assessment

Game Architecture and Modeling Assessment Game Architecture and Modeling Assessment The game is divided into a client and a server application. The above diagram shows two of clients connected to a server, all of them with their internal component

More information

A Product Derivation Tool Based on Model-Driven Techniques and Annotations

A Product Derivation Tool Based on Model-Driven Techniques and Annotations Journal of Universal Computer Science, vol. 14, no. 8 (2008), 1344-1367 submitted: 15/11/07, accepted: 25/3/08, appeared: 28/4/08 J.UCS A Product Derivation Tool Based on Model-Driven Techniques and Annotations

More information

Component-based Development Process and Component Lifecycle

Component-based Development Process and Component Lifecycle Journal of Computing and Information Technology - CIT 13, 2005, 4, 321-327 321 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2 and Michel Chaudron 3 1 Mälardalen

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static

More information