UML Based Collaborative Tool Support for Software Product Line Suntae Kim, JeongAh Kim, and Rhan Jung Dept. of Computer Engineering, Kangwon National University,

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Software Architecture in Practice
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Object Oriented Analysis and Design Using the UML
Tracing Requirements 1. The Role of Traceability in Systems Development  Experience has shown that the ability to trace requirements artifacts through.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Software Product Line Architectures (SPLA) Nipun Shah
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Object-Oriented Analysis and Design
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UNIT-V The MVC architecture and Struts Framework.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
UML - Development Process 1 Software Development Process Using UML (2)
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Business Requirements Using Unified Modeling Language Eric H. Castain, SVP Internet Services Group, Architecture Wells Fargo March 2005.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
Design of On-Demand Analysis for Cloud Service Configuration using Related-Annotation Hyogun Yoon', Hanku Lee' 2 `, ' Center for Social Media Cloud Computing,
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
DESIGN OF SOFTWARE ARCHITECTURE
Essential Customization for Moodle Adoption in School Jeong Ah Kim', SunKyun Park 1 ' 2 Computer Education Department, Kwandong University, KOREA
OCR Software Architecture for Embedded Device Seho Kim', Jaehwa Park Computer Science, Chung-Ang University, Seoul, Korea
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect V7.5 Module 17: Team Modeling.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
State of Georgia Release Management Training
UML - Development Process 1 Software Development Process Using UML.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
CS223: Software Engineering Lecture 13: Software Architecture.
A Quantitative Approach to Selecting Architectural Tactics Using Tactic Knowledge Base Suntae Kim, Sooyoung Park Dept. of Computer Engineering, Kangwon.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Rule Engine for executing and deploying the SAGE-based Guidelines Jeong Ah Kim', Sun Tae Kim 2 ' Computer Education Department, Kwandong University, KOREA.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Building Enterprise Applications Using Visual Studio®
Software Configuration Management CSC-532
Evaluating Compuware OptimalJ as an MDA tool
Starting Design: Logical Architecture and UML Package Diagrams
Analysis models and design models
An Introduction to Software Architecture
Software Development Process Using UML Recap
Presentation transcript:

UML Based Collaborative Tool Support for Software Product Line Suntae Kim, JeongAh Kim, and Rhan Jung Dept. of Computer Engineering, Kangwon National University, Sam-Cheok, South Korea Dept. of Computer Education, Kwandong University, South Korea 1 Introduction Software Product Line(SPL) is a paradigm to maximize software asset reusability by identifying and managing commonality and variability. Due to the massive work for building software product line architecture and product assets, many stakeholders in- cluding domain analyzers, software architects and developers should be involved. In order to facilitate the building process, standard notations and rigorous development process are necessary. Furthermore, many tools that support each activity should be integrated into one software package for seamless software development, and collabo- ration of participants also should be considered [4]. In this paper, we present key requirements of UML-based collaborative tool sup- port, named UBCT, to build SPL systems and show architectural approach to building the tool. At the heart of the tool support are UML and feature models for increasing communication effectiveness among participants. They are used as an anchor to connect requirements and product line codes through maintaining traceability among features, domain and design models and codes. All artifacts are designed to be able to share via the central resource management system. 2 Traceability for SPL To instantiate products from product lines, traceability among software architects should be maintained. Fig. 1 shows software development process composing of five activities, which is a process that our tool follows. Similar to other product line approaches[3], it begins with feature modeling for analyzing common and variable features,and then analyzes domain and design elements to realize the features with UML. In the domain and design model, the commonality and variability are represented in UML stereotypes. All design model classes are realized into classes called feature code which is the code segment that implements one or more features. It is surrounded by the pair of the FEA- TURECODE and END FEATURE CODE comment. Also the comment includes im- plementing feature list. Then, the feature code block is commented out according to the feature selection in instantiating products from product line code. 752 Computers, Networks, Systems, and Industrial Appications

Domain Design Feature Model Feature Code Model(UML) Modeling r - FT rFT ____ RT i RT Design * FT: Feature Traceability, RT : Refinement Traceability A L Implementation FT) //FEATURE CODE( eAl CLASSA //END_FEATURE_CODE CLASSA Product Code Product Production Fig. 1. Activities and Artifacts of MAP Method The process stresses traceability among artifacts. Two types of traceability are pre- sented in the process. One is refinement traceability(RT) that refers to refinement rela- tionships between previous step elements and next step elements, indicating from which elements at the previous step the next step elements are refined. Feature traceability(FT) is traceability between features and elements of each artifact, enabling one to analyze the feature impact at the domain model and design model, and instantiate products from feature code according to the feature selection. Two types of traceability are properties of all UML elements, and the FT properties of the previous step element are copied into the next step elements only by defining the RT properties. 3 UML-Based Collaborative Tool Support(UBCT) UBCT is a tool suite that supports aforementioned SPL process. To facilitate the process and support collaboration among participants, we have identified a set of key requirements as below. ·Feature Modeling : The tool shall allow one to model features and select features for product configuration. It also should be able to check if the selected features are not violated against feature constraints. ·Domain and Design Modeling with UML : The tool shall support UML modeling. The modeling tool shall show UML models in a single logical view but store them in separated physical files. It is because once one locks a single model file, others should wait for releasing the file. Thus, it is required functionality to enable parallel modeling. ·Traceability: Establishing traceability among the model elements and features is the crucial part for SPL system. It can be used for analyzing change impacts and generating products from product line code in accordance with feature selection. ·Collaboration : Source code, features and UML models shall be mutually shared and editable among participants. Based on the shared resources, traceability information shall be accordingly updated. ·Feature Code Definition : All features and UML models are eventually realized into feature code. Thus, the tool shall support feature code definition and view. ·Product Production : The tool shall produce products from the product line code by commenting out or removing the unselected feature code block. We have been developing UBCT for realizing the requirements. It is built upon Eclipse CDT [1] for editing and debugging product line and product code written in Session 6B 753

C++. We adopted two well-known Eclipse plug-ins FMP[2] and Subclipse[6]. While FMP(Feature Modeling Tool) is a tool for feature modeling and managing configurations of product features, Subclipse is intended to share file resources with collaborators by storing them in Subversion[7] source code management(SCM) system. We adapted commercial UML modeling tool N3Nabee [5] for domain and design models due to stability and customizability. It allows one to define software develop-ment process and artifacts of each activity. Indeed, it supports to separate logical views and physical resources that constitute the UML model. Separating logical view and physical resources enables one to partition a huge logical model into several sections (physical resources) so that one can share each model section separately. It permits collaborators to carry out parallel UML modeling. We are developing a component that plays a key role as a glue component that con- nects N3Nabee, FMP and Subclipse. It keeps information of feature code by observing feature code comments in Eclipse CDT. It obtains product configurations from FMP and then generates product codes from the product line source code according to the configuration. In addition, it provides code templates to the UML modeling tool so that the tool generates a code template from the design model. To provide two types of traceability in collaborative environment, all related in- formation should be separately stored in the physical resources and shared them with collaborators through central SCM. For building traceability in the tool, several UML models should be accessed and updated simultaneously. This situation always can occur data inconsistency, because one can update traceability, while others can update the UML models involved in the traceability. This problem motivates to maintain local traceability database(called TR DB) that keeps RT, FT of each models, physical resource location and the last modified time of the resource. The information is always updated whenever elements are modified and the tool is initially loaded. Based on the information, the tool checks inconsistency of the model elements separated in the several files. If it detects inconsistency, it alarms to users with warning message. Acknowledgements. This research was supported by National IT Industry Promotion Agency (NIPA) under the program of Software Engineering Technologies Development and Experts Education. References 1.Eclipse C/C++ Development Tooling. 2.University of Waterloo, Feature Modeling Plug-in. plugin/. 3.H. Gomaa. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley, I. Groher, C. Schwanninger, and M. Voelter. An Integrated Aspect-Oriented Model- Driven Software Product Line Tool Suite. In Proceedings of Intematioal Conference on Software Engineering, pages , Leipzig, Germany, N3 Soft Web Site. 6.Subclipse Web Site. 7.Subversion Web Site Computers, Networks, Systems, and Industrial Appications