Development of a Feature Modeling Tool using Microsoft DSL Tools.
|
|
- Shana Fleming
- 8 years ago
- Views:
Transcription
1 Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer Science, University of Valladolid. Campus M. Delibes, Valladolid, Spain mlaguna@infor.uva.es {rubenkame, jesus.requejo, nuriaserrano}@gmail.com Abstract. Feature models are the basic instrument to analyze and configure the variability of product lines (PL). However, is quite difficult to find a tool that offers enough functionality to develop them and defining their feature models. For that reason, we have built a tool to define and configure the feature diagrams of a product line in order to get the architectural structure of specific products automatically using and MDE approach. Besides, we integrate this tool in the same IDE we will use later to implement the product line, so we concentrate all the phases of the software development process in the same tool. 1. Introduction The product lines approach can be quite complex because of the huge size of most of them. Besides, it is difficult to find a tool that offers enough functionality to develop a PL easily. For that reason, we are working on a tool that simplifies the management of product lines. We have defined our own domain specific language (DSL) to construct feature diagrams. Based on this DSL, we have built a tool that allows the user to represent and manage the variability of a product line. The original definition for features diagrams was FODA [6]. Feature Oriented Domain Analysis proposed features as the basis for analyzing and representing commonality and variability of applications in a domain. A feature represents a system characteristic realized by a software component. There are four types of features in feature modeling: Mandatory, Optional, Alternative, and Or groups of features. We also based our DSL in other feature diagram definitions such as FORM [7] and FeatuRSEB [3].
2 Previously we have manually developed some case studies of PL, however, the productivity (and the complexity in non-trivial product lines) requires the construction and derivation of the different models to be automated. Model Driven Engineering (MDE) is a recent paradigm that bases the software development in models and their transformation to code. The best known approach is Model Driven Architecture (MDA). MDA was introduced by the Object Management Group (OMG) and is based on the Platform Independent Model (PIM) concept, a specification of a system with independence of platforms (e.g..net, or J2EE) [8]. The PIM must be transformed into a Platform Specific Model (PSM) [9]. As the main strength of MDE paradigm is the manipulation of models, it is very convenient use its techniques to define the transformations between feature, goal, and UML models of a product line. This approach requires the establishment of precise rules, using meta-modeling and transformation tools. To establish these rules, the recurring patterns in the feature models must be discovered and correlated to UML structures, in this case UML packages. The connection of the feature model with the design of the solution or product line architecture is usually implemented by an object-oriented framework. This explicit connection allows the instantiation of the domain framework into each specific application to be automated. Figure 1 shows the relationship scheme between these models. To obtain the architectural models from the goal/feature models is not simple. The solution offered by most of the methods proposed in the literature is to register the traceability between features and standard models of UML. Fig. 1. Relationships between the product line models.
3 Using this approach we have developed a tool to automate these transformations from feature models to UML models using Microsoft DSL Tools, in order to integrate the most part of the development process of a PL into the same IDE, in this case Visual Studio DSL Tools is a specific tool integrated as an SDK in Visual Studio 2008 that provides the user a powerful tool to define domain specific languages. We used this tool to define our specific feature model language and build the tool that will be used to modeling our feature diagrams. The aim is to introduce product line as one of the project types provided by the development platform. The interface and underlining meta-model of the FMT is similar to the fmp eclipse plug-in [2] and compatible with it, allowing the direct import of fmp models. The advantages of this FMT are direct integration into the Visual Studio IDE and the possibility of visual representation and manipulation of features and mutex/require constraints. As additional benefits, the package structure of the product line and configuration files can be directly generated. The rest of the document is as follows: The next section explains what a feature model is, and gives and overview of the meta-model used to develop this tool. Section 3 describes the meta-model based patterns used to guide the transformation from the feature diagrams to UML package models. Section 4 shows the environment in which this tool has been built, DSL Tools. Section 5 presents the description of the developed tool. Section 6 refers some related tools and, finally, the Section 7 concludes the document and proposes future work. 2 Feature Diagrams Feature models represent the functional variability of a product line. They connect the goals with the UML models. A feature diagram describes all possible variability of a product line. With a configuration of this diagram we can obtain a definition of a specific product of the PL. There are several definitions of different types of feature diagram; we based our meta-model of feature diagrams in the next: Feature Oriented Domain Analysis [6] proposed features as the basis for analyzing and representing commonality and variability of applications in a domain. A feature represents a system characteristic realized by a software component. There are four types of features in feature modeling: Mandatory, Optional, and Alternative features. Posterior proposals included Or groups of features and cardinality aspects. Besides, it has a textual form to describe constraints. These constraints can be of two different types: require and mutex. Later, Kang et al. have proposed the Feature-Oriented Reuse Method (FORM) [7] as an extension of FODA. Their main motivation was to enlarge the scope of feature modeling. They argue that feature modeling is not only relevant for requirements engineering but also for software design. In terms of feature diagrams, several changes occurred but there is only one change that is relevant for us: feature diagrams
4 are single-rooted directed acyclic graphs (DAG) instead of simple trees and feature names appear in boxes. The FeatuRSEB method [3] is a combination of FODA and the Reuse-Driven Software Engineering Business (RSEB) method. RSEB is a use-case driven systematic reuse process, where variability is captured by structuring use cases and object models with variation points and variants, FeatuRSEB feature diagrams have the following characteristics: 1. They are DAGs, not only trees. 2. Decomposition operator or is added to xor and and. Features whose sons are decomposed through or or xor are called variation points and those sons are called variants. 3. They have a graphical representation (dashed arrows) for the constraints requires and mutex. So, we based our meta-model on these proposals, and we finally have the next elements: Mandatory features: are present in a concept instance if their parent is present. They are shown by a filled circle at the end of the edge. Optional features: may be present only if their parent is present. They are shown by an empty circle at the end of the edge. Alternative features: are a set of features from which one is present if their parent is present. They are shown by an arc grouping their edges. Or groups of features: are a set of features from which a subset of them are present if their parent is present. They are shown by a filled arc grouping their edges. Mutex and requires. These relationships can only exist between features. Requires operator means that when we select a feature the required featured must be selected too. Then mutex operator means that once we choose a feature the other feature must be excluded. Cardinality of the edges shows the number of features that must be selected. This cardinality is represented by a minimum and maximum number between []. For example, [1..3] cardinality means that at least one feature and no more than three features can be selected in a or group of features. After an evaluation of various alternatives, the meta-model proposed by Czarnecki et al. in [1] has been selected because the simplicity of the related transformation. In this
5 approach, the distinctive property of the relationships is the cardinality. Figure 2 shows a simple example of that kind of diagrams. Payment Registered Guest 1..3 PaymentType CreditCard DebitCard ElectronicCheque Fig. 2 Example of a simple feature diagram Figure 3 shows the above-mentioned meta-model. In that meta-model, the relationships are implicit and the source of the transformation must be the cardinality attribute of the features and group of features. Fig. 3 Feature simplified meta-model, adapted from Czarnecki et al. [7]
6 3 From Feature Model to Architectural Model and Code We have discussed in our previous work the advantages and disadvantages of many approaches and proposed to separate completely the representation of variability of the product line from the residual variability of the concrete applications [4]. We use for this the UML package merge mechanism. The package merge mechanism basically consists of adding details to the models in an incremental way. According to the specification of UML 2, <<merge>> is defined as a relationship between two packages that indicates that the contents of both are combined. It is very similar to the generalization and is used when elements in different packages have the same name and represent the same concept, beginning with a common base. The concept is extended incrementally in each separate package. Selecting the desired packages, it is possible to obtain a tailored definition from all the possible ones. Though the examples in UML focus on class diagrams, the mechanism can be extended to any UML model, in particular use cases and sequence diagrams. This mechanism allows a clear traceability between feature and UML models to be established. Each optional feature is described by an optional package of the product line that will be selected or not in function of the concrete configuration of features. The process consists of establishing for each UML model, a base package that embodies the common part of the product line. Then, associated to each optional feature, a new package is built, so that all the necessary changes in the model remain located. This package is connected through the <<merge>> relationship with its base package in the exact point of the package hierarchy. The sense of the relationship expresses the dependence between packages: the base or merged package can always be included in a specific product, the receiving package is an extension of the base package and can only be included if the base package is also selected. This is exactly the way the expert decides which features are included or not during the configuration process, and must be directly reflected in the configuration of packages. In the example of Figure 9, obtained directly from the specification UML 2, the package S includes the classes, C, D, and B, with the peculiarity that A is a specialization of S::D and also includes the details of Q::A. Evidently, the rules that establish the specification of UML 2 are strict in order to avoid inconsistencies. For example, cycles are not allowed, the resulting multiplicity ranges are the least restrictive possible, the operations should conform in number, order and type of parameters, etc. The concepts that UML 2 uses are basically: Merged package (first operand), receiving package (second operand) and resulting package (contains the results of the merge and is the same package as the receiving package after the merge has been performed). Merged element, receiving element and resulting element (element in the resulting package after the merge is performed or unchanged element that have no matching)
7 This mechanism allows a clear traceability between feature and UML models to be established. The application of this mechanism to our problem consists of establishing for each UML model, a base package that embodies the common part of the product line. This base package can be organized in the ordinary way (using recursive package composition and <<import>> or<<access>> relationships). Then, associated to each optional feature, a new package is built, so that all the necessary changes in the model remain located, fulfilling one of the requirements of the previous Section. This package is connected through the<<merge>> relationship with its base package in the exact point of the package hierarchy. The sense of the relationship expresses the dependence between packages: the base or merged package can always be included in a specific product, the receiving package is an extension of the base package and can only be included if the base package is also selected. This is exactly the way the expert decides which features are included or not during the configuration process, and must be directly reflected in the configuration of packages. Fig. 9 Example of the package merge mechanism [5] Even, if it were possible to extend the traceability towards the implementation model using partial classes. In our development process we use the related concept of partial class of C# to implement the product lines. In C# it is possible to split the definition of a class or interface over two or more source files. Each source file contains a section of the class definition, and all parts are combined when the application is compiled to form the final type. The approach that uses C# allows a project (or a solution in Microsoft Visual Studio terminology) to be organized in packages with partial classes. So, if the framework that implements the product line is organized in packages with partial classes (base and variants), for deriving a given specific application, it is enough to import/ reference the packages
8 4 DSL Tools DSL tools is a Microsoft tool integrated in Visual Studio SDK 2008 that allows the user define their own domain specific language. A domain-specific language is used to perform a specific task in a given problem domain. This makes it different from a general-purpose language. By using Domain- Specific Language Tools, you can build customized modeling tools. You can define a modeling language and implement it in a straightforward way. For example, a user of DSL tools can create a specialized language that describes a user interface, a business process, a database, or in our case, feature diagrams. Next, the code can be generated from those descriptions. You can use Domain-Specific Language Tools to generate visual designers that are customized for your problem domain. For example, you can create a tool to describe concepts that are specific to how your organization models business processes. By creating your own domain-specific language and custom-generated designer, you can specify exactly what state chart concepts you need in your tool. That makes DSL Tools a very interesting tool to design our own language for feature diagrams and develop a CASE tool to build this diagrams as is shown in the next section. Figure 4 shows a simple example of how a meta-model for a domain specific language can be defined used DSL tools. We have to define each domain class and their relationships with the other classes. We also have to describe the attributes of these classes and the multiplicity of their relationships. Fig. 4 Example of a DSL definition
9 The next figure presents a DSL cycle life. In the first place we have the definition of the DSL made by the DSL designer using DSL tools by giving a graphical description of the meta-model. In the next step, the DSL has been created and DSL tool has created the CASE tool in order to the DSL user can make their diagrams. Fig. 5 DSL Cycle life 5 Feature Modeling Tool In order to build our tool we have first to give a definition of our DSL using Microsoft DSL Tools. DSL tools allow the user to enter this definition in a graphical way as has been described in the previous section. Figure 6 shows the above-mentioned definition. The left part of the figure presents the definition of the meta-model. The right part of the figure shows the properties of the shapes and graphical representation of the future diagrams. At first, we have to declare that a feature model has always a root feature. That is the meaning of the first relationship shown in the figure below. A feature can have a lot of different kinds of relationships: A feature can have another feature or group feature, or can include or exclude some other features. We have to declare as well the relationships that a group feature can have. In this case a feature group can have some features. Finally, we have to describe what a node is. A node can be a feature or a feature group for that reason we define it using inheritance.
10 Fig. 6 DSL definition for our feature modeling language (1 of 2) Once we have finished the definition of our DSL, compiling the project solution, DSL Tools can create a tool similar to a CASE Tool in order to we can design our models using the meta-model defined previously. Figure 8 shows the main window of the tool.
11 Fig. 7 DSL definition for our feature modeling language (2 of 2).
12 Fig. 8 Main window of the feature modeling tool The tool is divided into three sections. The central window is the model designer, in that part we can create our feature diagrams according to with the rules defined previously. The left part is the model configurator. In that section we have the same information that appears in the designed diagram. From this window we can select the features we want to appear in the future specific product of our product line. If we want to select a feature we have to check the corresponding cell. The changes will propagate automatically to the diagram and the model configurator. The tool checks the multiplicity and the constraints of the features as well. At last, in the third section located in the right part of the window we have the configured project. In that window we can see the transformation into package model of our configuration of the feature model. For each feature in the model will create a package. If we select a feature in the model configurator, its correspondent package will we marked as selected automatically in the configured project window as is shown in the feature, selected package are shown in yellow and will be include in the solution of the project while not selected packages are in white and will be excluded from the solution.
13 In the bottom of the tools there is a button called Export to XMI. Pressing that button we can obtain a file with an XMI description of the package model corresponding to the feature model configuration. We can export that XMI file to a CASE tool obtaining a UML package model. One of the advantages of this FMT is direct integration into the Visual Studio IDE and the possibility of visual representation and manipulation of features and mutex/require constraints. That is a great advantage because in other tools, such as fmp, the declaration of mutex/require constraints must be done using a constraint language like OCL. As additional benefits, the package structure of the product line and configuration files can be directly generated. In that first version of the tool, we are only considering transform the feature model into empty package with their merge relationship as is explained in the third section. 6 Related Work The Eclipse platform provides some similar tools to the now implemented by us, such as the fmp plug-in of Czarnecki et al. [2], that we used formerly to manage the configure product lines. The main problem is that the C# Eclipse environments provide fewer possibilities than those offered by the Microsoft platform and standard Java language has not the partial class mechanism we use to implement the features at code level. The Covamof approach [11] is a variability modeling approach that uniformly models the variability of the software product family in all abstraction layers. It treats variation points and dependencies as first-class citizens and provides means to model the relations between simple and complex dependencies. A completely different approach, focused on implementation instead of requirements or design, is the Feature Oriented Programming (FOP) paradigm the optional features are implemented as increments (refinements) in a java-like language. Starting from a base class, these increments are combined using a set of tools, provided with the AHEAD1 tool suite. AHEAD (Algebraic Hierarchical Equations for Application Design) is a basis for large-scale compositional programming. Features are the building blocks of systems; they are incremental units of program functionality that encapsulate "crosscuts" or fragments of many classes. Feature modules are similar to object-oriented frameworks in that they extend well-known methods of existing classes. Unlike aspects of aspect oriented programming (AOP), there is no quantification other than that used in traditional object-oriented design. The advance of AHEAD is scalability: both code and non-code representations of programs can be synthesized using algebraic models. Further, systems can be suites of different programs; such systems can also be synthesized in AHEAD
14 Other commercial tools, such as Big-Lever Gears or pure variants offer similar functionalities. Though these solutions are valid, the learning of new modeling or implementation techniques and the need of specialized CASE and IDE tools represent barriers for the adoption of the approach of product lines in many organizations; we therefore believe that the solution presented here improves the above mentioned proposals. 7 Conclusions and Future Work We have developed a CASE tool to design and manage the variability of product lines using feature modeling and integrated it into Visual Studio, using the Microsoft DSL tools. The advantages of that feature modeling tool are direct integration into the Visual Studio IDE and the possibility of visual representation and manipulation of features and mutex/require constraints. As additional benefits, the package structure of the product line and configuration files can be directly generated. The interface and underlining meta-model of the FMT is similar to the fmp eclipse plug-in [2] and compatible with it, allowing the direct import of fmp models. We can obtain a file with an XMI description of the package model corresponding to the feature model configuration. We can export that XMI file to a CASE tool obtaining a UML package model. In the first version of our tool we have only considered the transformation of feature models into UML package models, where these packages are empty. We are working on adding the transformations of features to classes and their attributes and even to use case diagrams inside the components of the package model in order to get a more complete and useful design model. 8 References [1] K. Czarnecki, S. Helsen, and U. Eisenecker. Staged Configuration Through Specialization Multi-Level Configuration of Feature Models. Software Process Improvement and Practice, special issue on "Software Variability: Process and Management, 10(2), 2005, pp [2] K. Czarnecki, S. Helsen, U. Eisenecker, Formalizing cardinality- based feature models and their specialization, In Software Process Improvement and Practice, Vol. 10, No. 1, 2005, pp [3] Griss, M.L., Favaro, J., d'alessandro, M., "Integrating feature modeling with the RSEB", Proceedings of the Fifth International Conference on Software Reuse, p , 1998
15 [4] Miguel A.Laguna, Bruno González-Baixauli, José Manuel Marqués, Seamless Development of Software Product Lines: Feature Models to UML Traceability. Sixth International Conference on Generative Programming and Component Engineering (GPCE 07). Salzburg, Austria - oct 2007 [5] Miguel A. Laguna, Bruno González-Baixauli, and José M. Marqués. Feature Patterns and Multi-Paradigm Variability Models (GIRO Technical Report 2008/01-v0.9) University of Valladolid. Spain [6] Kang, K. C., S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-Oriented Domain Análisis (FODA) Feasibility Study. Technical Report, CMU/SEI-90-TR-21, Software Engineering Institute (Carnegie Mellon), Pittsburgh, PA [7] Kang, K. C., Kim, S., Lee, J. y Kim, K. FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Annals of Software Engineering, 5: [8] Object Management Group, MDA Guide Version 1.0, 2003 [9] Object Management OMG. Unified modeling language specification version 2.0: Infrastructure. Technical Report ptc/ , OMG, [10] Schobbens, P., Heymans, P., Trigaux, J., and Bontemps, Y Generic semantics of feature diagrams. Comput. Netw. 51, 2, Feb [11] Marco Sinnema, Sybren Deelstra, Jos Nijhuis, Jan Bosch COVAMOF: A Framework for Modeling Variability in Software Product Families. Department of Mathematics and Computing Science, University of Groningen, PO Box 800, 9700 AV Groningen, The Netherlands.
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
More informationSeparating 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 informationAn eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo luca.gherardi@unibg.it, brugali@unibg.it Abstract.
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationCarrying 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 informationBuilding a Flexible Software Factory Using Partial Domain Specific Models
Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl
More informationImproving 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 informationRun-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.
More informationJOURNAL 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 informationModel Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
More informationUsing Ontologies in the Domain Analysis of Domain-Specific Languages
Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Tairas 1, Marjan Mernik 2, Jeff Gray 1 1 University of Alabama at Birmingham, Birmingham, Alabama, USA {tairasr,gray}@cis.uab.edu
More informationHow to Configure a Configuration Management System An Approach Based on Feature Modeling
How to Configure a Configuration Management System An Approach Based on Feature Modeling Sebastian Wenzel IBM Business Services GmbH Wilhelm-Fay-Str. 30-34 Frankfurt, Germany wenzel.sebastian@de.ibm.com
More informationConcern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada Omar.Alam@mail.mcgill.ca Abstract Model Driven Engineering (MDE) has achieved success in many
More informationRevel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
More informationUnification of AOP and FOP in Model Driven Development
Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify
More informationAn MDA Approach for the Development of Web applications
An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances
More informationTool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
More informationTDDC88 Lab 2 Unified Modeling Language (UML)
TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used
More informationMapping between Levels in the Metamodel Architecture
Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain alvarezp@lcc.uma.es
More informationComparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de
More informationManaging Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie
More informationSPLConfig: 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 informationA Methodological Approach to Domain Engineering for Software Variability Enhancement
A Methodological Approach to Domain Engineering for Software Variability Enhancement Alexandre Bragança 1,2 and Ricardo J. Machado 3 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal,
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More information1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.
* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes
More informationAnalysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
More informationBridging Programming Productivity, Expressiveness, and Applicability: a Domain Engineering Approach
Bridging Programming Productivity, Expressiveness, and Applicability: a Domain Engineering Approach Oded Kramer and Arnon Sturm Department of Information Systems Engineering, Ben-Gurion University of the
More informationCOCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationThe BPM to UML activity diagram transformation using XSLT
The BPM to UML activity diagram transformation using XSLT Ondřej Macek 1 and Karel Richta 1,2 1 Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University,
More informationMining Complex Feature Correlations from Large Software Product Line Configurations
Technical Report of AGSE April 3, 2013 Mining Complex Feature Correlations from Large Software Product Line Configurations Bo Zhang Software Engineering Research Group University of Kaiserslautern Kaiserslautern,
More informationThe Nature and Importance of a Programming Paradigm
Multiple Software Development Paradigms and Multi-Paradigm Software Development Valentino Vranić vranic@elf.stuba.sk Abstract: While OOP (including OOA/D) is reaching the level of maturity of structured
More informationBOM Lazy: A Variability-Driven Framework for Software Applications Production Using Model Transformation Techniques
BOM Lazy: A Variability-Driven Framework for Software Applications Production Using Model Transformation Techniques Abel Gómez Dep. of Information Systems and Computation Universidad Politécnica de Valencia
More informationSoftware 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 informationObject Oriented Programming. Risk Management
Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling
More informationJairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
More informationOverview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
More informationONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: hasni.neji63@laposte.net;
More informationProject VIDE Challenges of Executable Modelling of Business Applications
Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese
More informationPreparing for Automated Derivation of Products in a Software Product Line
Preparing for Automated Derivation of Products in a Software Product Line John D. McGregor September 2005 TECHNICAL REPORT CMU/SEI-2005-TR-017 ESC-TR-2005-017 Pittsburgh, PA 15213-3890 Preparing for Automated
More informationLanguage-Driven, Technology-Enhanced Instructional Systems Design
Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases
More informationSoftware Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
More informationBusiness Process Measures
Business Process Measures Valdis Vitolins University of Latvia, IMCS, 29 Raina blvd, LV-459, Riga, Latvia valdis_vitolins@exigengroup.lv Abstract. The paper proposes a new methodology for defining business
More informationPATTERN-BASED BUSINESS-DRIVEN ANALYSIS AND DESIGN OF SERVICE ARCHITECTURES
PATTERN-BASED BUSINESS-DRIVEN ANALYSIS AND DESIGN OF SERVICE ARCHITECTURES Veronica Gacitua-Decar and Claus Pahl School of Computing, Dublin City University, Glasnevin, Dublin 9, Ireland. vgacitua@computing.dcu.ie,
More informationJOURNAL 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 informationManaging 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 informationAn Overview of Feature-Oriented Software Development
Vol. 8, No. 5, July August 2009 An Overview of Feature-Oriented Software Development Sven Apel, Department of Informatics and Mathematics, University of Passau, Germany Christian Kästner, School of Computer
More informationA 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 informationMDE Adoption in Industry: Challenges and Success Criteria
MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314
More informationWiki Based Requirements Documentation of Generic Software Products
Wiki Based Requirements Documentation of Generic Software Products Clara Silveira 1, João Pascoal Faria 2,3, Ademar Aguiar 2,3, Raul Vidal 2 1 Escola Superior Tecnologia Gestão do Instituto Politécnico
More informationSCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1
SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability
More informationChapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
More informationDevelopment of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
More informationModel Driven Development of Inventory Tracking System*
Model Driven Development of Inventory Tracking System* Gan Deng, Tao Lu, Emre Turkay Andrey Nechypurenko Aniruddha Gokhale, Douglas Schmidt ISIS, Vanderbilt University Siemens Nashville, TN 37221 Germany
More informationSysML Modelling Language explained
Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling
More informationWhat is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process
1 2 3 What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes.
More informationINNOVATOR. The integrated tool suite for business process and software engineering
The integrated tool suite for business process and software engineering Use the synergy: The integrated tool suite for business process and software engineering is the only integrated tool suite for business
More informationManaging Variability in Software Product Lines
Managing Variability in Software Product Lines Jilles van Gurp, Jan Bosch, Mikael Svahnberg 1 University of Groningen POBOX 800 9700 AV Groningen The Netherlands [jilles jan.bosch]@cs.rug.nl, msv@ipd.hk-r.se
More informationSupporting Software Development Process Using Evolution Analysis : a Brief Survey
Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada samaneh@ualberta.ca Abstract During
More informationTowards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
More informationHow To Design An Information System
Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917
More informationModeling Dependent Software Product Lines
Modeling Dependent Software Product Lines Marko Rosenmüller, Norbert Siegmund, Christian Kästner, Syed Saif ur Rahman School of Computer Science, University of Magdeburg, Germany {rosenmue, nsiegmun, kaestner,
More informationAutomatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
More information25.1 Translational Frameworks (MDA with transformations)
Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.
More informationAutomatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
More informationMDA Transformations Applied to Web Application Development 1
MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T
More informationMDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems
OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,
More informationA Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages *
A Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages * David Oglesby, Kirk Schloegel, Devesh Bhatt, Eric Engstrom Honeywell Laboratories
More informationIntegration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl
More informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationModeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
More informationUML PROFILING AND DSL
UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationFrom Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
More informationDomain Models and Product Lines
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Domain Models and Product Lines Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software-
More informationA 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 informationToward Families of QVT DSL and Tool
Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com
More informationCo-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological
More informationModel-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012
Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow
More informationApplying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
More informationPHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.
PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages
More informatione-gateway SOLUTION OVERVIEW Financials HCM ERP e-gateway Web Applications Mobile Devices SharePoint Portal
e-gateway SOLUTION OVERVIEW In an effort to manage mission critical information better, perform their daily tasks more efficiently, share information to key stakeholders more effectively, and ensure that
More informationTowards 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 informationBusiness-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
More informationWhat is a metamodel: the OMG s metamodeling infrastructure
Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid
More informationFunction Point Modeler Enterprise Edition A Software Lifecycle Management Tool
White Paper Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool Writer: CFPS M.E. Dipl.-Ing. M. Öztürk, Update: 01 March 2011 Introduction The Purpose of this paper is to give
More informationClarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
More informationMODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS
MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS Tao Yu Department of Computer Science, University of California at Irvine, USA Email: tyu1@uci.edu Jun-Jang Jeng IBM T.J. Watson
More informationUML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling PATHS TO DOMAIN-SPECIFIC MODELING... 1 UML PROFILING... 2 The Origin of the UML Profiling Specifications... 2 The Vision...
More informationSoftware Product Line Modeling
Aachen Department of Computer Science Technical Report Modelling Requirements and Architectures for Software Product Lines Horst Lichter, Thomas von der Maßen and Thomas Weiler ISSN 0935 3232 Aachener
More informationSERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS
7th International DAAAM Baltic Conference INDUSTRIAL ENGINEERING 22-24 April 2010, Tallinn, Estonia SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS Lemmik, R.; Karjust, K.;
More informationUpdate on the OMG PRR Standard
Update on the OMG PRR Standard Paul Vincent TIBCO Software Inc. MarkupLanguages 2008 Conference 2 Why am I here? (Where do Standards Fit in Commercial IT Tools?) Best Practices Technical Partner Service
More informationIncreasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
More informationChapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
More informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
More informationProcess Patterns for Component-Based Software Development
Process Patterns for -Based Software Development Ehsan Kouroshfar, Hamed Yaghoubi Shahir, and Raman Ramsin Department of Computer Engineering Sharif University of Technology kouroshfar@ce.sharif.edu, yaghoubi@ieee.org,
More informationIMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose
More informationEclipse BPMN Modeler Introducing Intalio Designer
Eclipse BPMN Modeler Introducing Intalio Designer Arnaud Blandin Ismael Ghalimi Hugues Malphettes Intalio Inc, EMEA Manager Intalio Inc, CEO Intalio Inc, Lead Developer 6 rue du conseil general 1205 Geneva
More informationUPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts
UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,
More informationA Service Oriented Product Line Architecture for E- Government
A Service Oriented Product Line Architecture for E- Government Ines Achour 1, Lamia Labed 2, Rim Helali 2 and Henda Ben Ghazela 1 1 Computer Science Department, Manouba University/ ENSI/ Lab. RIADI-GDL,
More information