Adapting Software Engineering Design Patterns for Ontology Construction STANISLAV USTYMENKO and DANIEL SCHWARTZ Department of Computer Science Florida State University Tallahassee, FL 32306-4530 USA ustymenk@cs.fsu.edu, schwartz@cs.fsu.edu Abstract: - In this paper, we present an argument for designing metadata schemata with design patterns. Design patterns are structured descriptions of solutions to some class of problems, and are used extensively in various stages of object-oriented software engineering. We present a use case of collaborative construction of metadata for a digital library. We explore design challenges this scenario presents and then adapt a pattern called Composite from a standard software engineering design patterns reference to address parts of these challenges. Additionally, we propose a new design pattern called History suggested by a collaborative metadata construction scenario and applicable to a wider class of problems in metadata design. Key-Words: - Design Patterns, Knowledge Engineering, Object-Oriented Design, Semantic Metadata, Web Ontology 1 Introduction Efforts to standardize semantic languages gave metadata engineers direct access to modeling paradigms at higher levels of abstraction. Metadata schema engineering can borrow extensively from a now relatively mature field of object-oriented (OO) software engineering (SE) [9], since it is in many ways analogous to the domain modeling activity of object-oriented SE processes. This is captured by the extensive use of the Unified Modeling Language (UML) in communications among developers of the newly emerging Semantic Web [17, 18], as well as by the ongoing effort to map out Web Ontology Language (OWL) semantics in UML [2, 4, 10]. The UML and object-oriented metaphors are seen as both useful tools in metadata schemata and semantics vocabulary engineering and ways to utilize skill sets already acquired by an army of software engineers. Object-oriented metadata techniques found acceptance in many research communities in Information Technology. A prime example of such acceptance arises in the Learning Systems field and, particularly, the Learning Objects (LO) community, concerned with building software for use in education. Here, the interest in object orientation is fueled by promise of modularity and reuse (cf. [12]). Several metadata schema standards have been developed [13, 14]. Some authors raise justified objections regarding the appropriateness of the object oriented technologies as a proper model of learning technologies [15], citing redundancy and the vague analogies used. Nevertheless, the basic notion of an object is a useful abstraction. Our paper discusses metadata schemata not limited to learning objects and concentrates on the use of object-oriented patterns as a design technique, leaving appropriateness of the model to further research, as a particular application domain might dictate. A preliminary version of this work was presented as [20]. The object-oriented design community had adopted a concept of design patterns, borrowed from architectural design [1]. Design patterns are semi-formal, systematic descriptions of the solutions for common design problems. They show a particular commonly occurring problem in a specific context and then describe a proven method for solving such a problem. The goal of patterns is to increase the quality of design, namely maintainability and extensibility, by communicating best industry practices. Among commonly used patterns in object-oriented design are “Model-View-Controller” for flexible user interfaces, and “Factory”, which suggests encapsulating object creation to a special class to avoid relying on the type information when creating objects in runtime. One of the best known catalogues of patterns is the book [3] by Gamma, Helm, Johnson, and Vlissides. Often referred to as the “Gang of Four book” (or GoF), this became a common starting WSEAS TRANSACTIONS on INFORMATION SCIENCE & APPLICATIONS Stanislav Ustymenko, Daniel Schwartz ISSN: 1790-0832 1057 Issue 6, Volume 5, June 2008