CBR-PEB: An Application Implementing Reuse ... - Semantic Scholar

4 downloads 20715 Views 46KB Size Report
support reuse and learning in a software business company, and it shows its relation ..... edge, and, if so, which system (application or tool) he wants to use as a ...
XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

1

CBR-PEB: An Application Implementing Reuse Concepts of the Experience Factory for the Transfer of CBR System Know-How Klaus-Dieter Althoff, Markus Nick, Carsten Tautz Fraunhofer Institute for Experimental Software Engineering Sauerwiesen 6, D-67661 Kaiserslautern, Germany Email: {althoff, nick, tautz}@iese.fhg.de

Abstract. An Experience Factory is an infrastructure for organizational learning in software development that includes an Experience Base as an organizational memory. We introduce a system architecture showing how such an infrastructure can be technically supported based on Case-Based Reasoning (CBR) technology. As a first instantiation of this architecture, we present the CBR-PEB application, a publicly accessible WWW-based experience base about CBR applications and tools.

1 Introduction In software development, reuse is regarded as a means of handling today's increasing quality, productivity, and time-to-market requirements [9, 13]. But reuse is not just a by-product of software development. To support reuse, one has to establish an infrastructure aimed at capitalization and reuse of life cycle experience and products [13, p62]. Basili and Rombach [9] call such an infrastructure experience factory (EF). The central element of the EF is the experience base, in which the experience is stored in experience packages [9]. Griss et al. [13] report that simple lists – like WWW pages – can be used for a small experience base of 30–50 components, and for a larger library of 100–200 parts, a set of well-organized and indexed catalogs has been used effectively. Beyond that, more powerful tools might be necessary. In [6] it is shown that Case-Based Reasoning (CBR) is a very promising technology for the realization of an experience base, i.e., techniques, methods, and tools from the domain of CBR can be useful for building and maintaining an experience base. At the Fraunhofer IESE, we are using CBR technology to develop experience bases for both research purposes and industrial use. In addition, the EF approach is very useful for operationalizing CBR in industrial/business environments [2, 11]. One focus of this paper is to describe a concrete experience base that has been developed for supporting CBR system development as well as feasibility or state-ofthe-art studies. Emphasis is placed on providing decision support for reusing existing CBR system know-how for the development of new systems. To make the system easily accessible to CBR developers all around the world, the system has been made pub-

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

2

licly available via the WWW. This experience base is based on a number of research efforts: [3, 5, 4] developed the classification criteria for CBR systems. [8] conducted a survey about CBR systems and made these experiences reusable by means of CBR technology, that is, each questionnaire was represented as a structured case. This system has been made publicly accessible via the WWW [12]. An evaluation program was developed in order to show the usefulness of the system from the viewpoint of its users [14]. The rest of the paper is structured as follows. Section 2 describes how the EF as an organizational framework together with a process model for reuse and learning can support reuse and learning in a software business company, and it shows its relation to the basic CBR cycle (introduced by Aamodt and Plaza [1]), including the identification of points for tool support. Section 3 introduces an open architecture for an EF tool using CBR technology, which serves as a basis for the implementation of an experience base. Section 4 describes the instantiation of the EF model and tool architecture for CBR-PEB. Section 5 gives a summary and an overview of future work.

2 Support for Reuse and Learning in the Experience Factory A continuous build-up of knowledge requires an organizational structure. To operationalize reuse and learning and provide tool support for it, a process model is required. In [10] such a process model for reuse-oriented software development is presented. In this section, the EF as an organizational framework for reuse and learning is integrated with the reuse-oriented software development model. The relation of the reuse-oriented software development model to the basic CBR cycle [1] is made explicit. This shows how CBR is (and can be) used as a technology to support the reuse and learning processes. Furthermore, the required features for an EF tool are identified. CBR-PEB is a concrete example that shows that our approach is applicable. Since there are some differences between CBR-PEB and the generic model for reuse and learning in the EF and since, in addition, it is easier to understand on the generic level of description, it is worthwhile to know the generic model as well as the model tailored to CBR-PEB. 2.1 Generic Model The generic model for a typical software business company is presented in two parts. The first part describes the organizational structure (including the information flow among the organizational units) and how software development, reuse, and experience-gaining processes are embedded into the organization. The second part – the software development model – describes the process models concerning software development with reuse and experience base maintenance.

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

3

2.1.1 Organizational Structure A software business company that employs the EF paradigm consists of a project organization, the EF, and management (see Figure 1). project organization project development process reuse process

management experience existing in the world at large

reuse

record

information flow optional information flow influence

software business company

experience factory experience base

infuse

Fig. 1. The organizational structure of a software business company with an EF.

The project organization consists of several projects. Each of them is developing or has developed the respective deliverables. During development, several reuse attempts1 (i.e., instances of the reuse process model) may take place. The EF aims at supporting reuse of life-cycle products and related experience (such as guidance for their development). For this purpose, it creates and maintains the experience base, performs certain tasks involved in reuse and/or provides technology for the performance of these tasks, records experience gained in projects that is regarded worthwhile to be stored, and packages the stored experience to increase its reuse potential. Also, experience from outside the organization may be infused into the EB. The management of the business company has an influence on both the project organization and the EF. Thus, management can help introduce a reuse program with, for example, rewards, incentives, financing an EF, or other forms of commitment. 2.1.2 Software Development Model The software development model gives a detailed description of how the development and the reuse process interoperate. The reuse process, especially, is further refined than in Figure 1. We chose the reuse-oriented software development model, which is described in [10] and [15]. The model focuses on the reuse process itself. 2.2 Using CBR in the Experience Factory The reuse-oriented software development model, which is part of the generic model, is 1

“Attempt” refers more to the “experimental” nature of the reuse process than the word “process” because reuse may fail.

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

4

quite similar to the CBR cycle, a common process model for CBR [1]. In fact, CBR technology can be used to support reuse in the EF.2 According to [7], a meaningful basic set of features of a CBR tool for managing an experience base is • adding a new case to the case base, • modifying an existing case in the case base, • removing an existing case from the case base. For each of these actions, criteria that trigger these actions should be developed. An EB tool should support maintenance by checking the criteria and/or triggering the actions. The experience base can be used by, for example, • querying the case base (similarity-based retrieval), • retrieval of the experience package that is characterized by the selected case (see Section 3), • developing new systems, • adapting existing systems. We focus on querying and retrieval.

3 An Open Architecture for the Realization of an Experience Base The installation of an EB focuses on practical problems and, therefore, has to meet various requirements. For example: Often, the EB installation starts small, but it must be able to grow in size. Frequently, organizations already use specialized tools that must be integrated into the EB. Evaluation programs for the utility of the EB [14] require the integration of measurement data collection into the EB system. Our solution to these issues is an open architecture – an advancement of the 3-layer client-server EB architecture presented in [7]. Figure 2 shows this architecture with examples of artifact-specific tools that might already exist in an organization and must be integrated: a process modeling tool, a project planning tool, and other software engineering (SE) tools as well as their respective artifact-specific storage systems. An EB installation has – as its core parts – a CBR tool, the general purpose browser, and the EB server. Artifact-specific tools and storage systems can be added as needed. The CBR tool stores the artifact characterizations in the case base and allows similarity-based searching via the artifact characterizations. The general purpose browser provides searching, viewing, and manipulating of characterizations. The operations are handled by the EB server and the CBR tool. Other EB tools (e.g., for special maintenance tasks) can be added in parallel to the general purpose browser. The EB server synchronizes access to the case base, the databases, and the files for artifacts that belong to the EB.3 It also maintains the references from the characterizations to the artifacts, manages the storing of measurement data for the evaluation of the experience base [14], and provides the data collection forms to the general purpose browser. The openness of the architecture and the loose coupling of the artifact-specific tools 2

A more detailed view using the CBR task-method decomposition model, a refinement of the CBR cycle, is presented in [15] and [6].

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

EB-Specific Tools General Purpose Browser

Any EB Tool

5

Artifact-Specific Tools Process Modeling Tool

Project Planning Tool

Any SE Tool

CBR Tool

DBMS

Case Base

Measurement Data Base

ORDBMS

RDBMS

File System

reference

EB-Specific Storage System

artifact-specific access EB-specific access

EB Server

Artifact-Specific Storage System

Fig. 2. The open architecture for an EB system with examples of artifact-specific tools.

to the EB lead to good scalability of an EB installation with reasonable effort. Because tools can be added or left out as necessary, an EB installation can start small and can be extended later where and when required.

4 CBR-PEB – An Experience Base on CBR System Know-How 4.1 Tailoring the Generic Model for CBR-PEB Experience from CBR-PEB can be reused to provide support for feasibility or state-ofthe-art studies and/or for CBR system development. The (re-)users can give feedback on using CBR-PEB to the CBR-PEB maintenance staff at the Fraunhofer IESE by filling out the form/questionnaire with information about their new system and keeping this information up-to-date. The maintenance staff acts as an EF that maintains the experience base CBR-PEB. Thus, the generic model as presented in Section 2.1 can be tailored to the needs of CBR-PEB. In the following the coincidences, if not obvious, and the differences concerning organizational structure and software development model are described.

3

All this is only required for objects that are under the control of the EB. The project-specific artifacts are not in the scope of the EB and, thus, need not be known by the EB server (although they are usually stored in the same databases or file systems as the artifacts that are part of the EB because they are built using the same artifact-specific tools).

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

6

4.1.1 Organizational Structure The organizational structure in the context of CBR-PEB as shown in Figure 3 has been derived from the organizational structure in the generic model. The differences with respect to the generic model are as follows: CBR-PEB is an experience base outside the company, which is accessed by not only one but several companies. So, there is no organization like the management in the generic model that has an influence on both the CBR-PEB EF and the project organizations. Each software business company may also have its own EF as described in the generic model. The CBR-PEB EF thus serves as an additional external source of experience that can be queried by the project organization directly or by the company's EF, depending on the company's organizational policies. Note that the difference between using CBR-PEB and infusing “experience existing in the world at large” is that there is a closed loop with feedback for CBRPEB. In the future, the generic model could also be extended with the concept of external EFs. This is the typical role the Fraunhofer IESE plays when establishing an EF at a partner organization. 4.1.2 Software Development Model The software development model is shown in Figure 4. This model has been derived from the generic model and is tailored to the needs of CBR-PEB, that is, CBR system development. In the following the model will be described. Project organization's tasks. A project organization (“user” of CBR-PEB) develops a CBR system as follows: First, the project organization collects the decision support criteria concerning the CBR system that the organization wants to develop. The criteria are divided into

software business company InterNet, etc.

experience existing in the world at large

management

project CBR system development process reuse process

EF reuse

InterNet

record

CBR-PEB EF (Fraunhofer IESE)

information flow

experience base CBR-PEB

optional inf. flow influence

Fig. 3. The organizational structure with CBR-PEB.

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

criteria (domain, task, technical, ergonomic)

7

development process model required CBR system

develop CBR system without reuse

lessons learned, etc.

contribute new case (fill out questionnaire)

develop CBR system with reuse

identify knowledge

existing CBR system

new CBR system infos

select reuse process model project organization experience factory (IESE) CBR system package create CBR-PEB

CBR appl package

CBR tool package

record (check+store)

(re-)package

Fig. 4. The software development model for CBR systems with CBR-PEB.

domain, task, ergonomic, and technical criteria (see [8] and [5] for further information or have a look at the questionnaire in the WWW [12]). To make a state-of-the-art study, conduct a feasibility study, or receive decision support, the user retrieves the most similar cases from the CBR-PEB case base according to the criteria collected. CBR-PEB lists the ten most similar cases together with their similarity rating. The user can browse through these cases to carry out further subjective investigations. Based on these evaluations4 he decides whether he wants to reuse an existing system or knowledge, and, if so, which system (application or tool) he wants to use as a starting point for his development efforts or which knowledge from the development of existing systems he wants to reuse. After making the decision, he gets or buys the existing system or knowledge (i.e., the existing solution). Then he develops his new system reusing the existing system or knowledge. Afterwards, he fills out the WWW questionnaire for new CBR systems to provide a new case for CBR-PEB. A CBR system developer who does not reuse existing work, but is willing to share his experience with others, may also fill out the WWW questionnaire for new CBR systems. Note that there is only one single reuse process considering CBR-PEB per CBR system development. When a case is to be updated (e.g., when a CBR system is improved), the developer provides the information for the update of the case to CBR-PEB (this has not been explicitly modeled in Figure 4). Experience factory's tasks. The case base of CBR-PEB contains experience packages that describe CBR systems (i.e., software products). There are two subtypes of CBR system packages: CBR application and CBR tool packages. 4

automatic evaluation by CBR-PEB and/or personal and subjective evaluation by the project organization

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

8

Before storing a new CBR system package in CBR-PEB's case base, the new information must be checked to see if it is valuable and complete or just nonsense input from a surfer. Further inquiring, if necessary, and checking and storing is done by the Fraunhofer IESE. This is the same for update information regarding existing cases. At the moment, the case base contains 47 cases. [8] gives an overview of the content of an earlier version of the case base. 4.2 Tailoring the Architecture for CBR-PEB The open architecture was detailed regarding the general purpose browser. The general purpose browser supplies forms for the query and result presentation and a special CBR-PEB application logic provides the control flow and the layout. The general purpose browser uses CGI technology and a standard WWW server to interact with the users in the WWW. The open architecture was simplified for CBR-PEB at two points in the storage systems layer (see Figure 5): First, CBR-PEB does not contain any artifact, that is, a CBR CQL CBR Works

File System

CBR-PEB Case Base

Measurement Data Contact Adress

EB-Specific Storage System

CBR system developer

Artifact-Specific Storage System

Fig. 5. Data storage layer of CBR-PEB.

system. It only consists of the case base as an index and a contact address in each case that models the reference. Second, the measurement data base is implemented as a simple file using the system-library file-access functions. CBR-Works from TECINNO is used as CBR tool. CBR-Works is queried by the EB server over a TCP/IP socket using the CQL interface. [16] 4.3 The Features of CBR-PEB The system implements all features listed in Section 2.2. The WWW interface of CBR-PEB [12] especially supports the querying, creating, and updating of cases. As already stated, in the reuse step the system can only provide a contact address as a reference, but not the system that shall be reused. The features dealing with learning (i.e., recording and packaging) are detailed as follows: • Contribution of new cases: The new cases are reviewed by the EF staff in order to filter nonsense input from net surfers.

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

9

• Update of existing cases: The case contributors can update their cases on-line. The authorization uses a login name and a password. The changes are written to a log file to allow the EF staff to undo an unauthorized or invalid repackaging. This updating by the case contributor is regarded as a recording of update infos and repackaging of the existing case (this is not explicitly modeled in Figure 4). We propose that making on-line updating possible will also result in cases that are more up-to-date because the contributors can easily update the information. So, the whole system will be more up-to-date than, for example, a book can ever be. This is fundamental because up-to-date information was regarded as very important in the evaluation program [14]. • Removal of cases: Cases can be removed by the EF staff on request or if the evaluation program [14] shows that a case is considered “not useful” by a certain percentage of users.

5 Conclusion We presented a comprehensive model for the experience factory (EF) consisting of an organizational structure and a software development model, showed how to apply CBR technology in this context, and described a generic architecture for an EF tool using CBR technology. The EF model and the architecture were successfully instantiated for CBR-PEB - an experience base for CBR system development. CBR-PEB is now available over the World Wide Web [12]. It can support you with up-to-date information about CBR applications and tools and make your CBR-related applications and research results available on the WWW. Thus, we offer a service for the whole CBR(-related) community at no charge.

6 Acknowledgments We thank Sonnhild Namingha for reviewing an earlier version of this paper.

7 References [1] A. Aamodt and E. Plaza. Case-based reasoning: Foundational issues, methodological variations, and system approaches. AICom - Artificial Intelligence Communications, 7(1):39–59, Mar. 1994. [2] K.-D. Althoff. Case-based reasoning and experimental software engineering. Invited talk at the 4th European Workshop on Case-Based Reasoning (EWCBR98) Dublin, Ireland, September 23-25, 1998. Available at http://demolab.iese.fhg.de:8080/Publications/ewcbr98/. [3] K.-D. Althoff. Evaluating case-based reasoning systems: The Inreca case study. Postdoctoral

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

XPS-99 – 7th GWCBR

Lecture Notes in Artificial Intelligence

10

thesis (Habilitationsschrift), University of Kaiserslautern, 1997. [4] K.-D. Althoff, E. Auriol, R. Barletta, and M. Manago. A Review of Industrial Case-Based Reasoning Tools. AI Intelligence. Oxford (UK), 1995. [5] K.-D. Althoff and B. Bartsch-Spörl. Decision support for case-based applications. Wirtschaftsinformatik, 38(1):8–16, Feb. 1996. [6] K.-D. Althoff, A. Birk, C. G. von Wangenheim, and C. Tautz. CBR for experimental software engineering. In M. Lenz, B. Bartsch-Spörl, H.-D. Burkhard, and S. Wess, editors, CaseBased Reasoning Technology, number 1400 in Lecture Notes in Artificial Intelligence, chapter 9, pages 235–254. Springer-Verlag, Berlin, Germany, 1998. [7] K.-D. Althoff, F. Bomarius, and C. Tautz. Using case-based reasoning technology to build learning organizations. In Proceedings of the the Workshop on Organizational Memories at the European Conference on Artificial Intelligence ’98, Brighton, England, Aug. 1998. [8] B. Bartsch-Spörl, K.-D. Althoff, and A. Meissonnier. Learning from and reasoning about case-based reasoning systems. In Proceedings of the Fourth German Conference on Knowledge-Based Systems (XPS97), Mar. 1997. [9] V. R. Basili, G. Caldiera, and H. D. Rombach. Experience Factory. In J. J. Marciniak, editor, Encyclopedia of Software Engineering, volume 1, pages 469–476. John Wiley & Sons, 1994. [10] V. R. Basili and H. D. Rombach. Support for comprehensive reuse. IEEE Software Engineering Journal, 6(5):303–316, Sept. 1991. [11] R. Bergmann and K.-D. Althoff. Methodology for building case-based reasoning applications. In M. Lenz, B. Bartsch-Spörl, H. D. Burkhard, and S. Wess, editors, Case-Based Reasoning Technology - From Foundations to Applications, pages 299–328. Springer Verlag, 1998. [12] Cased-Based Reasoning Product Experience Base CBR-PEB. 1998. http://demolab.iese.fhg.de:8080/. [13] M. L. Griss, J. Favaro, and P. Walton. Managerial and organizational issues - starting and running a software reuse program. In W. Schäfer, R. Prieto-Diaz, and M. Matsumoto, editors, Software Reusability, chapter 3, pages 51–78. Ellis Horwood Ltd., 1994. [14] M. Nick and C. Tautz. Practical evaluation of an organizational memory using the goalquestion-metric technique. In Proceedings of the Fifth German Conference on KnowledgeBased Systems (XPS-99), Mar. 1999. (to be published) [15] C. Tautz and K.-D. Althoff. Operationalizing comprehensive software knowledge reuse based on CBR methods. In L. Gierl and M. Lenz, editors, Proceedings of the Sixth German Workshop on Case-Based Reasoning, volume 7 of IMIB Series, pages 89–98, Berlin, Germany, Mar. 1998. Institut für Medizinische Informatik und Biometrik, Universität Rostock. [16] CBR-Works. 1998. URL http://www.tecinno.com/. tecInno GmbH, Germany.

v1.0 (submitted) – October 30, 1998 2:33 pm

/home/nick/Papers/XPS-99-CBR/xps-99-cbr-peb-published.fm

Suggest Documents