Towards the Development of Integrated Reuse Environments for UML Artifacts Moataz A. Ahmed Information and Computer Science Department King Fahd University of Petroleum and Minerals Dhahran 31261, Saudi Arabia moataz@kfupm.edu.sa Abstract—Systematic software reuse is recognized to achieve better software, faster and at a lower cost. The benefits of reuse can be maximized if types of early stage software artifacts can be easily reused. In early-stage reuse, once a match is found, all related later stages artifacts for the match can also be reused. However, the development of integrated reuse environments to allow managing and reusing repositories of early stage artifacts has not caught adequate attention of researchers yet. In response to this problem, we propose an approach to the development of environments integrated with CASE tools and capable facilitating early-stage artifacts reuse. Successful implementation of such environments is expected to improve the software quality and developers productivity. Keywords-early-stage artifacts; design reuse; integrated reuse environment; similarity metrics; multi-view similarity. I. INTRODUCTION Systematic software reuse has clear benefits to include reduction in overall development costs, increased reliability, reduced process risk, effective use of specialists, standards compliance, and accelerated development [1]. Features of the object-oriented (OO) software development paradigm, such as abstraction and encapsulation, encourage reuse of software by enabling building reusable blocks of code. However, it has been recognized for long that reuse of early-stage artifacts are particularly more beneficial than reuse of later-stage artifacts [10]. Types of early-stage reusable artifacts include [2]: Domain Models : These can be reused at the earliest stage of the software development process, the domain analysis stage. Very few systems exist that exploits the reuse of artifacts at this stage. An example of such a system is the work of Blok and Cybulski [3]. Another example is the generic application frames in the ITHACA development environment [4]. Yet, a more recent example can be found in the software product lines approach, which was often touted as a silver bullet for actualizing software reuse goals [5][7][9]. Requirement Specifications : These artifacts can be reused during the requirements analysis phase of the software lifecycle [10]. An example of how a requirements specification reuse may be assisted by a software tool is described by Cybulski and Reed’s [11]. Design : These artifacts can be reused during the design phase. An example of a design repository is the SPOOL Design Repository [12]. Another example is the work of Lee and Harandi [13]. In early-stage reuse, once a match is found, all related later stages artifacts for the match can also be reused. For instance, if an analysis model for a previous project is found to match the analysis model of a current project, then the previous project’s design, code, test data, and relevant documentation may be reused in the current project. Early-stage artifacts reuse, despite its clear benefits, suffers from a few problems though. Reuse problems include increased maintenance costs, the not-invented-here syndrome, lack of tool support, difficulty of maintaining a library of reusable artifacts, and the cost of locating and adapting reusable artifacts [1]. A step towards a solution to the problems above could be the development of effective tightly-knit tools to allow finding and reusing exiting design artifacts and what follows based on matching requirements specification. For maximal utilization within the day-to-day activities, such tools should be offered through a reuse environment integrated with some prominent CASE tools; hence, Integrated Reuse Environment (IRE). In this paper, we present an approach to the development of IREs to maximize the designer’s productivity. The approach will be focusing on reusing Unified Modeling Language (UML) artifacts. The rationale behind focusing on UML is that it is considered the de-facto standard for expressing early-stage OO artifacts (e.g., analysis and design models) [8]. Accordingly, tools and techniques to support reusing UML artifacts would facilitate and encourage more early-stage reuse. However, to the best of our knowledge, there is IREs that allow finding and reusing exiting UML design artifacts and what follows based on matching requirements specification. The rest of the paper is organized as follows. Section II presents a framework for assessing the similarity between UML artifacts of different projects. Section III discusses related work. Section IV lists some research questions to be answer in future work in order to realize effective IREs. Section V concludes the paper. II. MULTI-VIEW UML MODELS SIMILARITY During the requirement-analysis phase of the software development life cycle, the system requirements are typically modeled and analyzed from related but different viewpoints where each view represents one aspect of the software system to be developed. The division into different views is arbitrary and typically includes at least three views namely structural view, functional view, and behavioral view [21][22][23][24], each capturing important 426 ICSEA 2011 : The Sixth International Conference on Software Engineering Advances Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6