Tool Support for Software Variability Management and Product Derivation in Software Product Lines
|
|
|
- Peter Parsons
- 9 years ago
- Views:
Transcription
1 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, VA , USA [email protected] 2 Dept. of Computer Science, Texas Tech University, Lubbock, , USA [email protected] Abstract. Software variability management is a key challenge in developing software product lines and deriving products from the product line. In order to provide effective variability management and product derivation in software product lines, which is capable of being automated, certain fundamental building blocks are required. These include multiple product line views, the feature model as the unifying view, an underlying product line meta-model that provides a schema for a product line repository, support for consistency checking among the multiple views, and support for feature-based product line derivation. This paper describes multiple-view modeling of software product lines, with particular emphasis on the feature modeling view, multiple-view UML meta-modeling for software product lines, variability management in the metamodel, and consistency checking between meta-model views. The paper then describes the requirements for tool support for product lines and product derivation, before describing a software prototype tool for this purpose and evaluating the effectiveness of the tool. 1 Introduction Software variability management is a key challenge in developing software product lines and deriving products from the product line. In order to provide effective variability management and product derivation in software product lines, which is capable of being automated, the following is needed: a) Multiple product line views. A better understanding of the product line can be obtained by considering the different perspectives, such as requirements modeling, static modeling, and dynamic modeling, of the product line. A graphical modeling language such as UML helps in developing, understanding and communicating the different views. b) Feature model. One of the multiple views of the product line is the feature modeling view. The feature model is essential for both variability management and product derivation, because it describes the product line requirements in terms of commonality and variability, as well as defining the product line dependencies.
2 c) Meta-model. A meta-model provides a unifying framework for the multiple views. Whereas the multiple views each need to use a different notation, a meta-model is represented in one notation. It contains the product line metaclasses and the relationships between the meta-classes, which allow consistency checking and assistance for product derivation. d) Product line repository. The meta-model is essential for tool support as it represents a schema for a product line repository, which stores the artifacts developed as a result of product line engineering. e) Consistency checking. Although a multiple view modeling approach helps in developing the product line, it is easy to introduce errors and inconsistencies in a multiple view model. It is therefore necessary to provide support for consistency checking among the multiple views. f) Product line derivation. The feature model is used to drive the process of product line derivation. By selecting a consistent set of features required for the individual product, the corresponding artifacts that realize those features are selected from the product line repository to constitute the product. This paper starts by describing multiple-view modeling of software product lines. It then goes on to describe multiple-view meta-modeling for software product lines in UML, how variability is handled in the meta-model, and consistency checking between meta-model views. The paper then describes the requirements for tool support for product lines and product derivation, before describing a software prototype tool for this purpose and evaluating the effectiveness of the tool. 2 Multiple-View s of Software s with UML A multiple-view model for a software product line defines the different characteristics of a software family [8], including the commonality and variability among the members of the family [1, 5, 7, 11]. A multiple-view model is represented using the UML notation [4, 9]. The product line life cycle includes three phases for: Requirements ing: Use Case View. The use case model view addresses the functional requirements of a software product line in terms of use cases and actors. Product line commonality is addressed by having kernel use cases, which are common and therefore directly reusable in all product line members. Product line variability is addressed by having optional and alternative use cases, which are used by some but not all product line members. Analysis ing: Static View. The static model view addresses the static structural aspects of a software product line through classes and relationships between them. Kernel classes are common to all product line members, whereas optional and variant classes address product line variability. Collaboration View. The collaboration model view addresses the dynamic aspects of a software product line, which captures the sequence of messages passed between objects that realize kernel, optional, and alternative use cases.
3 Statechart View. The statechart model view, along with the collaboration model view, addresses the dynamic aspects of a software product line. A statechart defines states and state transitions for each state dependent kernel, optional, and variant class. Feature View. A feature model view captures feature/feature dependencies, feature/class dependencies, feature/use case dependencies, and feature set dependencies. The feature model view is the key for managing variability in software product lines. Design ing: During this phase, the software architecture of the product line is developed. For software product lines, it is important to address how variability is modeled in each of the different views. A multiple-view model can be modified at specific locations referred to as variation points. More information on multiple-view modeling for software product lines is given in [6]. 3 Multiple-View Meta- for Software s Consistency checking between multiple views of a model is complex, one of the reasons being the different notations that are needed. An alternative approach [6, 10] is to consider consistency checking between multiple views at the meta-model level. The meta-model describes the modeling elements in a UML model and the relationships between them. The meta-model is described using the static modeling notation of UML and hence just uses one uniform notation instead of several. Furthermore, rules and constraints can be allocated to the relationships between modeling elements. The multiple views are formalized in the semantic multiple-view meta-model, which depicts the meta-classes, attributes of each meta-class, and relationships among meta-classes. Relationships can be associations, compositions/aggregations (strong and weak forms of whole/part relationships), and generalization/specializations. A high level representation of the phases containing the views in this meta-model is shown in Figure 1. A phase is modeled as a composite meta-class that is composed of the views in that phase, as shown in Figure 1. In the meta-class model, all concepts are modeled as UML classes. However, as the meta-classes have different semantic meaning, they are assigned stereotypes corresponding to the different roles they play in the meta-model. Thus in Figure 1, all the meta-classes represent the different views of a UML model and are assigned the stereotype. Meta-classes representing development phases are assigned the stereotypes «phase» as they represent the different phases of the OO lifecycle, Requirements ing, Analysis ing, and Design ing. Each view in Figure 1 can be modeled in more detail to depict the meta-classes in that view [10]. Fig. 1 depicts underlying relationships among multiple views in development phases of a software product line. The views in each phase are: Requirements phase: - Use case model: This model describes the functional requirements of a software product line in terms of actors and use cases.
4 Analysis phase: - Class model: This model addresses the static structural aspects of a software product line through classes and their relationships. - Statechart model: This model captures the dynamic aspects of a software product line by describing states and transitions. - Collaboration model: This model addresses the dynamic aspects of a software product line by describing objects and their message communication. - Feature model: This model captures the commonality and variability of a software product line by means of features and their dependencies. The views of the design phase are described in [4]: «phase» Requirements ing Supported by Use Case Realized by Equivalent to «phase» Analysis ing Feature Maps to Supported by Maps to Refined to Class Statechart Behavior described by Instantiated from Behavior described by Generates actions and activities for Generates events for Collaboration Integrated into «phase» Design ing Refined Class Instantiates objects for Task Architecture Decomposed into Subsystem Architecture Mapped to Abstracted into Consolidated Collaboration Fig. 1. High-level relationships between multiple views for a software product line 4 Consistency Checking between Multiple Views Consistency checking rules are defined based on the relationships among metaclasses in the meta-model. The rules resolve inconsistencies between multiple views in the same phase or other phases, and to define allowable mapping between multiple views in different phases. To maintain consistency in the multiple-view model, rules defined at the meta-level must be observed at the multiple-view model level. Consistency checking is used to determine whether the multiple-view model follows the rules defined in the multiple-view meta-model.
5 Multiple-View Feature «optional» Feature1 «optional>> Feature2 Supported by Feature Mutually Exclusive Feature Set Exactly-one-of Feature Set At-least-one-of Feature Set Class Supported by Multiple-View Meta- 0..* Feature Set Feature Diagram 1..* 1..* Feature 1 1 Has Class Diagram 0..* Kernel Feature Optional Feature Variant Feature Feature Dependency Maps to 0..1 Class «optional» Class1 * 1 «optional» Class2 Kernel Class Optional Class Variant Class Interacts with 1..* External Class 1..* 1..* Has 0..* Class 2..* 0..* Relationship 0..* 1 Has 0..* Attribute Fig. 2. Meta-model for feature and class model view Aggregation Generalization/ Specialization Association 1..* Fig. 2 depicts consistency checking between a feature in the feature model and a class in the class model. Suppose an optional class Class2 supports an optional feature Feature2. Class2 and Feature2 in the multiple-view model are respectively instances of Class and Feature meta-classes in the multiple-view meta-model. There is a relationship between Class and Feature meta-classes, which is each optional class in the class model supports only one optional feature in the feature model. For the multiple-view model to remain consistent, this meta-level relationship must be maintained between instances of those meta-classes, that is, Class2 and Feature2. Consistency checking confirms that each optional class in the class model supports only one optional feature in the feature model. 5 Tool Support for Software s - Objectives In order to support software variability management and product derivation in software product lines, the UML Based Software Engineering Environment (PLUSEE) has been developed. The objectives of the PLUSEE prototype are to: a) Provide tool support for representing the multiple graphical views of the product line modeling method. b) Provide a capability for consistency checking between the multiple views. c) Provide a capability for mapping the multiple views to a product line repository.
6 d) Provide automated support for product derivation from the product line repository. e) Provide a product line independent environment. Thus the prototype should be capable of being used with multiple product line models. f) Because of limited resources and the need to focus those resources on the innovative parts of the project, use existing software tools where possible. 6 PLUSEE The scope of the PLUSEE [10, 12] includes the product line engineering and product derivation phases (Fig. 3). a) Product line Engineering. A product line multiple-view model, which addresses the multiple views of a software product line, is modeled and checked for consistency between the multiple views. The product line multiple-view model and architecture is captured and stored in the product line reuse library. b) Product derivation. A target system multiple view model is configured from the product line multiple-view model. The user selects the desired features for the product line member (referred to as target system) and the tool configures the target system architecture. Requirements Engineering Multiple-View, Architecture, Reusable Component Types Reuse Library Target System Requirements Product Derivation Target System Unsatisfied Requirements, Errors, Adaptations Fig. 3. Overview of PLUSEE The PLUSEE represents second generation product line engineering tools which build on experience gained in previous research [2, 3]. PLUSEE builds on the experience gained with the earlier research with the Knowledge Based Software Engineering Environment (KBSEE). Whereas the KBSEE proof-of-concept prototype demonstrated that product line derivation from a product line feature model, architecture and components was feasible, it suffered from some serious limitations. Firstly, it used a Structured Analysis tool as a front end, and therefore had to rely on graphical editors
7 for data flow diagrams and entity-relationship diagrams, which lacked the richness needed to model object-oriented product lines. Secondly, although a product line repository was used, it was developed in an ad-hoc way and lacked the underlying meta-model to formally describe the product line artifacts and their relationships. This experience with KBSEE guided the following design decisions for the development of the PLUSEE: a) Both Rose and Rose RT Commercial CASE Tools were used as the graphical interface to this prototype. Rose supports all the views of the standard UML notation, but it does not generate an executable architecture from the product line multiple-view model. On the other hand, Rose RT generates an executable architecture from the product line multiple view model and simulates the product line architecture although it does not support all the views of the standard UML. To take advantages of Rose and Rose RT, two separate versions of PLUSEE, which are very similar to each other, were developed. b) The Knowledge Based Requirement Elicitation tool (KBRET) [2] and GUI developed in previous research were used without change. 6.1 Engineering Fig. 4 depicts the overview of the product line engineering tools for PLUSEE, in which a product line engineer captures a product line multiple-view model consisting of use case, collaboration, class, statechart, and feature models through the Rose tools. Use Case Use Case Collaboration Object 1 Object 2 Message Engineer Multiple-View Consistency Checker Class 1 0..* Class 1 Class 2 Association Statechart State 1 State 2 Event/ Action Feature Rational Rose S/W Rose MDL File for Domain Multiple-View Relations Extractor Repository Classes Aggregate Class - Use Case Dependent Knowledge Base Generator Feature1 Feature2 Multiple-View Executable Components (Rose RT only) Dependent Knowledge Base (PLDKB) Fig. 4. Product line engineering tools for PLUSEE
8 a) Multiple-View Relations Extractor. The multiple-view product line relations extractor generates product line relations from the multiple-view product line model. Rose and Rose RT save a multiple-view product line model in ASCII MDL and RTMDL files, respectively. In these files, information about the multiple-view model is stored with keywords. These keywords are used for extracting the information relevant to the multiple views of a software product line from the Rose MDL and Rose RTMDL files. The product line relations extracted are stored in an underlying tabular representation of the multiple views, which are later used for consistency checking and target system configuration. The product line relations are tool independent. b) Consistency Checker. The product line model consistency checker identifies inconsistencies between multiple views in the same phase or different phases. The rules for consistency checking between multiple views are checked against the product line relations extracted from the product line model. For example, the consistency checking rule in section 4, each optional class in the class model must support only one optional feature, is checked by the consistency checker using Optional Class relation ((a) of Fig. 5) and Optional Feature Class Dependency relation ((b) of Fig. 5), which are derived from the multipleview model for the flexible manufacturing product line. The Optional Class relation contains optional classes derived from the product line static model. The Optional Feature Class Dependency relation defines a dependency between an optional feature and an optional class supporting the feature. To check the rule, the consistency checker confirms that each optional class in the Optional Class relation supports only one optional feature in the Optional Feature Class Dependency relation. For example, if the consistency checker finds an optional class that supports more than one optional feature, a kernel feature, or no feature at all, it generates a consistency error message for this rule. Optional Class Part Scheduler Part Agent AGV Dispatcher Flexible Workstation Controller (a) Optional Class relation Optional Feature Optional Class Flexible Manufacturing Part Scheduler Flexible Manufacturing Part Agent Flexible Manufacturing AGV Dispatcher Flexible Manufacturing Flexible Workstation Controller (b) Optional Feature Class Dependency relation Fig. 5. Product line relations for consistency checker c) Dependent Knowledge Base Generator. The product line dependent knowledge base generator generates the product line dependent knowledge base from the product line relations. The product line dependent knowledge base contains information about classes, optional features, feature/feature depend-
9 ency, feature/class dependency, generalization/specialization relations among classes), aggregation relations among classes), and feature sets. The product line dependent knowledge base is used by KBRET to select target system features from the available optional features. d) Knowledge Based Requirement Elicitation Tool. The Knowledge Based Requirement Elicitation Tool (KBRET) is used to assist a user to select optional features of each target system. KBRET, which was developed in previous research [2], conducts a dialog with a human target system requirements engineer, presenting the user with the optional features available for selecting a target system. The user selects the features that will belong to the target system; KBRET reasons about feature/feature dependencies and then checks for feature set constraints such as mutually exclusive feature sets, exactly one-of feature sets, and one-or-more feature sets to resolve conflicts among features. Based on the selected features, KBRET determines the kernel, optional and variant classes to be included in this target system. 6.2 Product Derivation In the product derivation phase of PLUSEE (Fig. 6), a Knowledge Based Requirement Elicitation tool (KBRET) is used to assist the human target system requirements engineer to select the optional features for the target system through KBRET GUI. Once the features are selected, KBRET reasons about the feature/feature dependencies to ensure that a consistent set of target system features are selected. a) Target System Relations Extractor. The target system relations extractor creates relations for a target system from the multiple-view product line relations. The goal is to tailor the product line multiple view model so as to configure a target system corresponding to the features selected for the target system. To extract target system relations, the extractor uses the optional and variant features that a user has selected through KBRET, as well as kernel features that are automatically selected for all product line members. b) Target System MDL Generator. The target system MDL generator was developed to create the Rose MDL file for a target system. Using the target system relations, the target system Rose MDL generator generates a Rose MDL file for a target system by changing the color of the modeling elements in the target system. A target MDL file for a target system is generated by changing the colors of target classes in the class model, target use cases in the use case diagram, target objects in the collaboration model, and target states in the statechart model. The changed color of target system multiple-view models (for example, yellow) is distinguished from the color of the original product line multiple-view model (for example, white).
10 Repository KBRET GUI Classes User Rose MDL File for Domain Aggregate Class - Use Case Dependent Knowledge Base (PLDKB) Knowledge- Based Requirements Elicitation Tool (KBRET) Rose MDL File for Target System Target System Rose MDL Generator Target System Relations Target System Relations Extractor Target System Feature Set Rational Rose S/W User Use Case Use Case Collaboration Object 1 Object 2 Message Class 1 0..* Class 1 Class 2 Association Statechart State 1 State 2 Event/ Action Target System Executable Component (Rose RT only) Fig. 6. Product derivation tools of PLUSEE A Rose Real-Time executable model is a simulation of the target system, which is then executed and tested to determine whether the multiple-view model performs in accordance with the requirements. 7 Evaluation of PLUSEE To evaluate this approach, the PLUSEE has been used in two case studies [10], a factory automation product line and an electronic commerce product line. The evaluation of the PLUSEE is conducted through the following validation procedure, which also identifies the activities performed by the human product line developer and the PLUSEE tool: a) Develop a multiple-view model of a software product line (Human). b) Map the multiple-view model to multiple-view model relations (Tool). c) Perform consistency checking of the multiple-view model relations (Tool). d) Implement multiple views using Rose Real-Time (Human). e) Configure target systems from the software product line (Tool and Human).
11 Each of the objectives listed above in section 6 was achieved as follows: a) Provide tool support for representing the multiple graphical views supported by the product line modeling method. This was achieved using the Rose graphical editors to support the multiple views. Rose was used to capture the multiple views; the underlying representation of each view was then extracted by our tools and mapped to the product line repository. b) Provide a capability for consistency checking between the multiple views. We developed a multiple view consistency checking tool for this purpose, which reported any inconsistencies among the views to the user. c) Provide a capability for mapping the multiple views to a product line repository. This was achieved by first using the open architecture provided by Rose to extract the information in the multiple views, mapping these views to an integrated set of data base relations that supported the multiple views, and then mapping these relations to a knowledge base repository. This was achieved using tools we developed for PLUSEE. d) Provide automated support for product derivation from the product line repository. This was achieved by developing the knowledge based requirements elicitation tool (KBRET) for this purpose. KBRET interacts with the product requirements engineer to derive the product from the product line repository. e) Provide a product line independent environment. Thus the prototype should be capable of being used with multiple product line models. Product line independence is achieved by treating all product line specific information as data and facts to be manipulated by the product line independent tools. To demonstrate product line independence, several different product lines have been modeled and products derived from them. f) Use existing software tools where possible. Both Rational Rose and Rational Rose RT were used for this research. It should be pointed out that the product line repository is CASE tool independent. To support a different UML modeling tool, it is necessary to develop a new version of the product line multiple view relations extractor. Thus, we developed two versions of the extractor, one for Rose and the other for Rose RT. 8 Conclusions Software variability management is a key challenge in developing software product lines and deriving products from the product line. This paper has described how a UML-based multiple-view modeling approach for software product lines can be supported by a multiple-view UML meta-model for software product lines, which allows for variability management of the product line through the meta-model, and consistency checking between meta-model views. The paper then described the requirements for tool support for product lines and product derivation, before describing and evaluating a software prototype tool for this purpose. This research has demonstrated the viability of using UML-based methods and tools as a basis for variability management and product derivation in software product lines.
12 References 1. P. Clements and L. Northrop, Software s: Practices and Patterns, Addison Wesley, H. Gomaa, L. Kerschberg, V. Sugumaran, C. Bosch, and I Tavakoli, "A Knowledge-Based Software Engineering Environment for Reusable Software Requirements and Architectures," J. Automated Software Engineering, Vol. 3, Nos. 3/4, August H. Gomaa and G.A. Farrukh, Methods and Tools for the Automated Configuration of Distributed Applications from Reusable Software Architectures and Components, IEE Proceedings Software, Vol. 146, No. 6, December H. Gomaa, Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison-Wesley, H. Gomaa, H. Designing Software s with UML: From Use Cases to Patternbased Software Architectures, Addison-Wesley. To appear, July Hassan Gomaa and Michael E. Shin, Multiple-View Meta-ing of Software Product Lines the Eighth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2002), Maryland, December, K. C. Kang et. al., Feature-Oriented Domain Analysis, Technical Report No. CMU/SEI- 90-TR-21, Software Engineering Institute, November Parnas D., "Designing Software for Ease of Extension and Contraction", IEEE Transactions on Software Engineering, March J. Rumbaugh, G. Booch, I. Jacobson, The Unified ing Language Reference Manual, Addison Wesley, Reading MA, Michael E. Shin, Evolution in Multiple-View s in Software Product Families, Ph.D. dissertation, George Mason University, Fairfax, VA, David M Weiss and Chi Tau Robert Lai, Software Product-Line Engineering: A Family- Based Software Development Process, Addison Wesley, Hassan Gomaa and Michael E. Shin, A Multiple-View ing Approach for Variability Management in Software s 8 th International Conference on Software Reuse (ICSR 2004), Madrid, Spain, July, 2004.
Domain Modeling of Software Process Models
Domain Modeling of Software Process Models Hassan Gomaa, Larry Kerschberg, and Ghulam A. Farrukh George Mason University and The MITRE Corporation [email protected], [email protected], and [email protected]
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,
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
The Role of Use Cases in Requirements and Analysis Modeling
The Role of Use Cases in Requirements and Analysis Modeling Hassan Gomaa and Erika Mir Olimpiew Department of Information and Software Engineering, George Mason University, Fairfax, VA [email protected],
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Run-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, [email protected] 2 Dep.
Modeling 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
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: [email protected] Supervised by:
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
Role-based Authorization Constraints Specification Using Object Constraint Language
Role-based Authorization Constraints Specification Using Object Constraint Language Gail-Joon Ahn Department of Computer Science University of North Carolina at Charlotte [email protected] Michael. E. Shin
i-questionnaire A Software Service Tool for Data
i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,
The Unified Software Development Process
The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:
Meta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
Evaluating 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
UML SUPPORTED SOFTWARE DESIGN
UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: [email protected]
IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2
Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Enterprise Architecture: Practical Guide to Logical Architecture
Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21
Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.
Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Systematic Review
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
The UML «extend» Relationship as Support for Software Variability
The UML «extend» Relationship as Support for Software Variability Sofia Azevedo 1, Ricardo J. Machado 1, Alexandre Bragança 2, and Hugo Ribeiro 3 1 Universidade do Minho, Portugal {sofia.azevedo,rmac}@dsi.uminho.pt
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
Component Based Development Methods - comparison
Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier
Mapping 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 [email protected]
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
ProGUM-Web: Tool Support for Model-Based Development of Web Applications
ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de
A UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach Sabnam Sengupta 1,Swapan Bhattacharya 2 Department of Computer Science & Engineering, Jadavpur
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Rose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
A Rapid Development Process with UML
A Rapid Development Process with UML Giuliano Armano DIEE, Dipartimento di Ingegneria Elettrica ed Elettronica, University of Cagliari Piazza d Armi I-09123, Cagliari (Italy) Tel. +39-70-675.5878 [email protected]
An Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract
75 Electronic Commerce Studies Vol. 2, No.1, Spring 2004 Page 75-94 An Object-Oriented Analysis Method for Customer Relationship Management Information Systems Jyh-Jong Lin Chaoyang University of Technology
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Specification of the UFT Web-Based Fitness Tracking Software
Specification of the UFT Web-Based Fitness Tracking Software STEVEN ARNOLD, CATHY OSTERHOUT, CHUL YIM, SERGIU DASCALU Department of Computer Science University of Nevada, Reno 1664 N. Virginia St., Reno,
Software Product Lines
Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
Software Engineering Tools and Methods
Software Engineering Tools and Methods Fernando Brito e Abreu ([email protected]) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: OPM and Catalysis 1 Object Process Methodology (OPM) Introduced by Dori in 1995 Primarily intended
Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?
Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Ludmila Penicina Institute of Applied Computer Systems, Riga Technical University, 1 Kalku, Riga, LV-1658,
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
Change Management: Modeling Software Product Lines Evolution
Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,
A Framework for Requirements Traceability in UML-based Projects
A Framework for Requirements Traceability in UML-based Projects Patricio Letelier Department of Information Systems and Computing Technical University of Valencia (Spain) [email protected] Abstract
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
A Software process engineering course
Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
Systematic Management of Variability in UML-based Software Product Lines
Journal of Universal Computer Science, vol. 16, no. 17 (2010), 2374-2393 submitted: 15/2/10, accepted: 30/8/10, appeared: 1/9/10 J.UCS Systematic Management of Variability in UML-based Software Product
Information systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
A Methodology for the Development of New Telecommunications Services
A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford
PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM
PROCESS-DRIVEN SOFTWARE DEVELOPMENT METHODOLOGY FOR ENTERPRISE INFORMATION SYSTEM Kwan Hee Han 1 and Yongsun Choi 2 1 Department of Industrial & Systems Engineering, Engineering Research Institute, Gyeongsang
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering
Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development
Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations
Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University
Ontological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?
In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology
Enterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
Secure Database Development
Secure Database Development Jan Jurjens () and Eduardo B. Fernandez (2) () Computing Department, The Open University, Milton Keynes, MK7 8LA GB http://www.jurjens.de/jan (2) Dept. of Computer Science,
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Winery A Modeling Tool for TOSCA-based Cloud Applications
Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University
SERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
I219 Software Design Methodology
I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu [email protected] Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Object 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
A UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
Model-Driven Development: A Metamodeling Foundation
Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany [email protected] Thomas Kühne Darmstadt University of Technology 64283
Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert
Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.
Self-Healing Component in Robust Software Architecture for Concurrent and Distributed Systems
Self-Healing in Robust Software Architecture for Concurrent and Distributed Systems Michael E. Shin Department of Computer Science Texas Tech University Lubbock, TX 79409-3104 [email protected]
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Umbrella: A New Component-Based Software Development Model
2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.
Chapter 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
