1 Using UML-F to Enhance Framework Development: a Case Study in the Local Search Heuristics Domain Marcus Fontoura, Carlos J. Lucena*, Alexandre Andreatta, Sérgio E. Carvalho*, and Celso C. Ribeiro* Department of Computer Science, Princeton University 35 Olden Street, Princeton, NJ 08544, U.S.A. fontoura@cs.princeton.edu * Computer Science Department, Catholic University of Rio de Janeiro Rua Marquês de São Vicente 225, Rio de Janeiro 22453-900, Brazil {lucena, sergio, celso}@inf.puc-rio.br UNIRIO - University of Rio de Janeiro Department of Applied Computer Science Rua Voluntários da Pátria 107, Rio de Janeiro, RJ 22270, Brazil andreatt@uniriotec.br ABSTRACT Currently frameworks are most commonly represented through design diagrams written in standard object- oriented analysis and design languages. However, these design notations do not provide elements for identifying framework variation points and how their instantiation should be performed. Therefore, in order to create framework instances, users have to rely on extra documentation that is not always available. This paper shows the benefits of an extension to UML that explicitly represents all the information required for framework development and instantiation. The approach is illustrated through a large real-world framework for local search heuristics for combinatorial optimization problems. KEY WORDS: object-oriented frameworks, design notation, UML-F, framework development, framework instantiation. 1. INTRODUCTION This paper illustrates the weakness of standard object-oriented design languages regarding framework documentation and shows how UML-F (Fontoura, 1999; Fontoura et. al., 2000) can be used to address this problem. It shows how the documentation of a large framework in the local search heuristics domain, namely the Searcher framework (Andreatta et. al., 1998), can be complemented through UML-F diagrams. This case study highlights the benefits of this approach regarding framework development and instantiation. Searcher was first described in (Andreatta et. al., 1998) through OMT diagrams (Rumbaugh et. al., 1994) and pattern descriptions (Gamma et. al., 1995). UML-F was not available at that time. UML-F is a UML profile (D’Souza et. al., 1999) useful for modeling frameworks and product-line architectures. UML-F uses the basic UML extension mechanisms to define new constructs for modeling all the relevant aspects of framework designs. Several other projects have already been successfully developed with UML-F, as reported in (Fontoura, 1999). The Searcher case study is a condensed version of a real application of UML-F. The rest of this paper is organized as follows. Section 2 describes the local search heuristics domain and presents the Searcher framework using the OMT design language (Rumbaugh et. al., 1994). Section 3 revisits the framework description using UML-F, and discusses the benefits of this new representation. Section 4 describes some related work. Finally, Section 5 presents our conclusions and future research directions.