UML As an Ontology Modelling Language

Total Page:16

File Type:pdf, Size:1020Kb

UML As an Ontology Modelling Language UML as an Ontology Modelling Language Stephen Cranefield and Martin Purvis Department of Information Science University of Otago PO Box 56, Dunedin, New Zealand g E-mail: fscranefield, mpurvis @infoscience.otago.ac.nz Abstract of standard object modelling techniques for ontology devel- opment. Current tools and techniques for ontology develop- This work is motivated primarily by consideration of the ment are based on the traditions of AI knowledge role that ontologies play in agent-based infrastructures for representation research. This research has led to supporting queries over open and dynamic collections of het- popular formalisms such as KIF and KL-ONE style erogeneous and distributed information sources. Systems languages. However, these representations are lit- such as SIMS [Knoblock and Ambite, 1997], Infosleuth [Ba- tle known outside AI research laboratories. In con- yardo et al., 1997] and Observer [Mena et al., 1999] use on- trast, commercial interest has resulted in ideas from tologies to model the semantic structure of individual infor- the object-oriented programming community ma- mation sources, as well as to describe models of a domain that turing into industry standards and powerful tools are independent of any particular information source. The for object-oriented analysis, design and implemen- challenges for these systems are to support the construction tation. These standards and tools have a wide and of user queries using domain ontologies that may be initially rapidly growing user community. This paper ex- unfamiliar to the user, and to allow queries to span multi- amines the potential for object-oriented standards ple information sources by representing and computing the to be used for ontology modelling, and in particular mappings between domain ontologies and the ontologies sup- presents an ontology representation language based ported by individual information sources. on a subset of the Unified Modeling Language to- gether with its associated Object Constraint Lan- guage. 2 Common Ontology Modelling Languages The most common formalisms used to represent ontolo- gies are the Knowledge Interchange Format (KIF) [NCITS, 1 Introduction 1998] and KL-ONE style knowledge representation lan- In recent years a number of subfields of artificial intelligence guages [Brachman and Schmolze, 1985]. have been aiming to increase the ability of their systems to KIF provides a Lisp-like syntax for expressing sentences interact with humans and other external agents by developing of first order predicate logic and also provides extensions for and sharing ontologies— formally specified models of bod- representing definitions and metaknowledge. KIF is a highly ies of knowledge defining the concepts used to describe a expressive but low-level language for representing ontolo- domain and the relationships that hold between them. Re- gies; however, the Stanford University Knowledge Sharing search areas investigating the design of ontologies include Laboratory’s ontology editing tool, Ontolingua [Farquhar et agent-based software interoperability [Genesereth and Ketch- al., 1996], allows users to build KIF ontologies at a higher pel, 1994], knowledge acquisition [SMI, 1998] and natural level of description by importing predefined ontologies defin- language processing [Bateman et al., 1995]. ing concepts such as sets, standard units, time and simple ge- Various formalisms have been developed for expressing ometrical functions. In particular, the frame ontology [KSL, ontologies, notably the Knowledge Interchange Format (KIF) 1994] allows ontologies to be defined in terms of relations, [NCITS, 1998] and knowledge representation languages de- classes (and subclasses), functions and sets. scended from KL-ONE [Brachman and Schmolze, 1985].In Much of the research on ontology design and use is per- this paper we examine the use of an alternative formalism for formed by researchers using knowledge representation tools representing ontologies: a subset of the Object Management descended from KL-ONE [Brachman and Schmolze, 1985]. Group’s Unified Modelling Language (UML) together with KL-ONE was the basis for much work in the field of knowl- its associated Object Constraint Language (OCL). Object- edge representation. It implemented “structural inheritance oriented analysis, design and implementation is a maturing networks”: networks containing descriptions of named con- field with many industry standards emerging for distributed cepts with generalisation/specialisation links between them. computation. The large user community and commercial sup- Descendants of KL-ONE include LOOM [ISI, 1998] and a port for object-oriented standards warrants the investigation family of logics called description logics or terminological logics [Donini et al., 1996; Owsnicki-Klewe, 1990].TheKIF formal characterisation of the representational and deductive frame ontology discussed above also allows this type of spec- capabilities of KL-ONE style systems and allow their com- ification to be used in conjunction with more general KIF sen- putations to be studied in terms of completeness, computa- tences. tional complexity, etc. Although domain knowledge could be In a description logic, concepts can be introduced by sim- represented using first order predicate logic, the benefit of us- ply naming them and specifying where they fit in the general- ing a specialised representation is that special-purpose data isation/specialisation hierarchy. The following examples are structures and algorithms can be used to support efficient rea- adapted from Nebel [1990]: soning. In addition, the structured knowledge base supports efficient processing of declarative queries about the defined Anything Human concepts. Set Anything 3 UML for Ontology Modelling where represents concept specialisation and Anything is a predefined concept representing the class of all things. Knowledge representation (KR) systems such as LOOM are New concepts can also be defined in terms of existing con- large and complex systems with a steep learning curve and cepts using the operations of concept conjunction:theand are little known outside AI laboratories. Instead of using operator can be used to specify that the new concept is a com- such technology, the authors are investigating the more main- mon specialisation of a number of other concepts: stream and rapidly growing arena of object-oriented technol- ogy to construct a distributed information retrieval and pro- = and Man Student Male-student cessing system. Currently there is no counterpart for the de- New roles may be introduced to represent possible rela- ductive capabilities of KR systems in current object-oriented tionships that may hold between instances of a concept and technology; however, for distributed information systems other individuals in the world, for example: these capabilities are not necessarily needed. Many of the benefits of KR systems occur during the process of designing anyrelation member an ontology. This support is undoubtedly useful, but in the object-oriented world there is also much support available for where anyrelation represents the class of all relations. the design of models, with mature and commonly used lan- Concepts may be specialised by operations such as value guages, methodologies and tools available. restriction, where the operator all is used to restrict a role’s possible values to be instances of a certain class, and num- The other function of KR systems — to store highly struc- tured data and answer queries about it — is not an issue in atmost ber restriction, where the operators atleast and are used to restrict the possible number of values that a given role distributed information systems. The point of systems such as may have. The following example states that a team is a set SIMS, Infosleuth and Observer is to allow disparate databases for which all values for its “member” role are instances of the and other information sources to be integrated. Nothing can or should be assumed about the underlying databases and in- Human concept with the cardinality of the member role being at least two. formation storage systems. In particular, it cannot be assumed that the information sources will be implemented using KR = and Set all member Human Team systems. While systems such as LOOM can be used to im- 2 member atleast plement key components of a distributed information system Systems such as KL-ONE and LOOM structure their infrastructure (such as query planning agents), it is certainly knowledge bases to allow certain types of inferences to be possible to use other reasoning engines. In the authors’ view, performed efficiently on the user-defined concepts, such as unless a system that uses ontologies is constructed around a the following list paraphrased from Owsnicki-Klewe [1990]: tool such as LOOM, there seems to be nothing inherently in- tuitive or appealing in the use of a description logic formalism Subsumption: Is a given concept description more gen- to represent ontologies. eral or more specific than another, or can no such rela- The ontology representation formalism presented in this tion be established? paper is a subset of the Unified Modeling Language (UML) Coherence: Is a concept description logically coherent, [Rumbaugh et al., 1998] from the Object Management Group i.e. can there be an instance of this term? (OMG) [OMG, 1998], together with its associated Object Constraint Language (OCL) [OMG, 1997b; Warmer and Identity: Do two concept descriptions refer to the same Kleppe, 1998]. Benefits of using
Recommended publications
  • Design of Instructional Modeling Language for Learning Objects and Learning Objects╎ Repositories
    University of Northern Colorado Scholarship & Creative Works @ Digital UNC Dissertations Student Research 8-2019 Design of Instructional Modeling Language for Learning Objects and Learning Objects’ Repositories Altaf Siddiqui Follow this and additional works at: https://digscholarship.unco.edu/dissertations Recommended Citation Siddiqui, Altaf, "Design of Instructional Modeling Language for Learning Objects and Learning Objects’ Repositories" (2019). Dissertations. 588. https://digscholarship.unco.edu/dissertations/588 This Text is brought to you for free and open access by the Student Research at Scholarship & Creative Works @ Digital UNC. It has been accepted for inclusion in Dissertations by an authorized administrator of Scholarship & Creative Works @ Digital UNC. For more information, please contact [email protected]. ©2019 ALTAF SIDDIQUI ALL RIGHTS RESERVED UNIVERSITY OF NORTHERN COLORADO Greeley, Colorado The Graduate School DESIGN OF INSTRUCTIONAL MODELING LANGUAGE FOR LEARNING OBJECTS AND LEARNING OBJECTS’ REPOSITORIES A Capstone Submitted in Partial Fulfillment of the Requirements of the Degree of Doctor of Philosophy Altaf Siddiqui College of Education and Behavioral Sciences Department of Educational Technology August 2019 This Capstone by: Altaf Siddiqui Entitled: Design of Instructional Modeling Language for Learning Objects and Learning Objects Repositories has been approved as meeting the requirement for the Degree of Doctor of Audiology in College of Education and Behavioral Sciences in Department of Educational Technology
    [Show full text]
  • Integration Definition for Function Modeling (IDEF0)
    NIST U.S. DEPARTMENT OF COMMERCE PUBLICATIONS £ Technology Administration National Institute of Standards and Technology FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) » Category: Software Standard SUBCATEGORY: MODELING TECHNIQUES 1993 December 21 183 PUB FIPS JK- 45C .AS A3 //I S3 IS 93 FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) Category: Software Standard Subcategory: Modeling Techniques Computer Systems Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899 Issued December 21, 1993 U.S. Department of Commerce Ronald H. Brown, Secretary Technology Administration Mary L. Good, Under Secretary for Technology National Institute of Standards and Technology Arati Prabhakar, Director Foreword The Federal Information Processing Standards Publication Series of the National Institute of Standards and Technology (NIST) is the official publication relating to standards and guidelines adopted and promulgated under the provisions of Section 111 (d) of the Federal Property and Administrative Services Act of 1949 as amended by the Computer Security Act of 1987, Public Law 100-235. These mandates have given the Secretary of Commerce and NIST important responsibilities for improving the utilization and management of computer and related telecommunications systems in the Federal Government. The NIST, through its Computer Systems Laboratory, provides leadership, technical guidance,
    [Show full text]
  • Design and Implementation of the L+C Modeling Language
    Design and implementation of the L+C modeling language Radoslaw Karwowski and Przemyslaw Prusinkiewicz Department of Computer Science University of Calgary Abstract L-systems are parallel grammars that provide a theoretical foundation for a class of programs used in procedural image synthesis and simulation of plant development. In particular, the formalism of L-systems guides the construction of declarative languages for specifying input to these programs. We outline key factors that have motivated the development of L-system- based languages in the past, and introduce a new language, L+C, that addresses the shortcom- ings of its predecessors. We also describe the implementation of L+C, in which an existing language, C++, was extended with constructs specific to L-systems. This implementation methodology made it possible to develop a powerful modeling system in a relatively short pe- riod of time. 1. Background L-systems were conceived as a rule-based formalism for reasoning on developing multicellular organisms that form linear or branching filaments [Lindenmayer, 1968]. Soon after their introduction, L-systems also began to be used as a foundation of visual modeling and simulation programs, and computer languages for specifying the models [Baker and Herman, 1972]. Subsequently they also found applications in the generation of fractals [Szilard and Quinton, 1979; Prusinkiewicz, 1986] and geometric modeling [Prusinkiewicz et al., 2003]. A common factor uniting these diverse applications is the treatment of structure and form as a result of development. A historical perspective of the L-system-based software and its practical applications is presented in [Prusinkiewicz, 1997]. According to the L-system approach, a developing structure is represented by a string of symbols over a predefined alphabet V.
    [Show full text]
  • On the Analysis of Cmmn Expressiveness: Revisiting Workflow Patterns
    ' $ ON THE ANALYSIS OF CMMN EXPRESSIVENESS: REVISITING WORKFLOW PATTERNS Renata Carvalho 1, Anis Boubaker 1, Javier Gonzalez-Huerta 1, Hafedh Mili 1, Simon Ringuette 2, and Yasmine Charif 3 Mars 2016 D´epartement d'informatique Universit´edu Qu´ebec `aMontr´eal Rapport de recherche Latece 2016-1 & % ON THE ANALYSIS OF CMMN EXPRESSIVENESS: REVISITING WORKFLOW PATTERNS Renata Carvalho 1, Anis Boubaker 1, Javier Gonzalez- Huerta 1, Hafedh Mili 1, Simon Ringuette 2, and Yasmine Charif 3 1 D´epartement d'informatique UQAM Montr´eal,Qc, Canada 2 Trisotech Inc. Montr´eal,Qc, Canada 3 Xerox Innovation Group Xerox Research Center Webster Mailstop 128-29E Laboratoire de recherche sur les technologies du commerce ´electronique D´epartement d'informatique Universit´edu Qu´ebec `aMontr´eal C.P. 8888, Succ. Centre-Ville Montr´eal,QC, Canada H3C 3P8 http://www.latece.uqam.ca Mars 2016 Rapport de recherche Latece 2016-1 Summary Traditional business process modeling languages use an imperative style to specify all possible execution flows, leaving little flexibility to process operators. Such lan- guages are appropriate for low-complexity, high-volume, mostly automated processes. However, they are inadequate for case management, which involves low-volume, high- complexity, knowledge-intensive work processes of today's knowledge workers. OMG's Case Management Model and Notation(CMMN), which uses a declarative stytle to specify constraints placed at a process execution, aims at addressing this need. To the extent that typical case management situations do include at least some measure of imperative control, it is legitimate to ask whether an analyst working exclusively in CMMN can comfortably model the range of behaviors s/he is likely to encounter.
    [Show full text]
  • System Model-Based Definition of Modeling Language Semantics In: Proc
    System Model-Based Definition of Modeling Language Semantics Hans Gr¨onniger, Jan Oliver Ringert, and Bernhard Rumpe Lehrstuhl Informatik 3 (Softwaretechnik), RWTH Aachen, Germany Abstract. In this paper, we present an approach to define the seman- tics for object-oriented modeling languages. One important property of this semantics is to support underspecified and incomplete models. To this end, semantics is given as predicates over elements of the seman- tic domain. This domain is called the system model which is a general declarative characterization of object systems. The system model is very detailed since it captures various relevant structural, behavioral, and in- teraction aspects. This allows us to re-use the system model as a domain for various kinds of object-oriented modeling languages. As a major con- sequence, the integration of language semantics is straight-forward. The whole approach is supported by tools that do not constrain the seman- tics definition’s expressiveness and flexibility while making it machine- checkable. 1 Introduction Modeling is an integral part of complex software system development projects. The purpose of models ranges from assisting developers and customers commu- nicate to test case generation or (automatic) derivation of the developed system. A prominent example modeling language is UML [1]. Actually, it is a family of languages used to model various aspects of a software system. While UML is widely used, domain specific modeling languages emerged recently that allow developers and even customers to express solutions to well-defined problems in aconciseway. A complete definition of a modeling language consists of the description of its syntax, including well-formedness rules and its semantics (meaning) [2].
    [Show full text]
  • System Structure Modeling Language (S2ML) Michel Batteux, Tatiana Prosvirnova, Antoine Rauzy
    System Structure Modeling Language (S2ML) Michel Batteux, Tatiana Prosvirnova, Antoine Rauzy To cite this version: Michel Batteux, Tatiana Prosvirnova, Antoine Rauzy. System Structure Modeling Language (S2ML). 2015. hal-01234903 HAL Id: hal-01234903 https://hal.archives-ouvertes.fr/hal-01234903 Preprint submitted on 1 Dec 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. System Structure Modeling Language (S2ML) Language Specification Version 1.0 November 2015 Abstract: This document defines the S2ML language, version 1.0. S2ML is developed in the framework of the OpenAltaRica project, leaded by IRT SystemX, Palaiseau, France. S2ML is a freely available, prototype-oriented language for both representing the structure complex systems and structuring models of these systems. It aims at providing a minimal but sufficient set of constructs for these purposes. S2ML 1.0 Specification 2 Copyright © AltaRica Association, 2015 All rights reserved. Reproduction or use of editorial or pictorial content is permitted, i.e. this document can be freely distributed especially electronically, provided the copyright notice and these conditions are retained. No patent liability is assumed with respect to the use of information contained herein. While every precaution has been taken in the preparation of this document, no responsibility for errors or omissions is assumed.
    [Show full text]
  • A Runtime Assertion Checker for the Java Modeling Language Yoonsik Cheon Iowa State University
    Computer Science Technical Reports Computer Science 4-2003 A Runtime Assertion Checker for the Java Modeling Language Yoonsik Cheon Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/cs_techreports Part of the Software Engineering Commons Recommended Citation Cheon, Yoonsik, "A Runtime Assertion Checker for the Java Modeling Language" (2003). Computer Science Technical Reports. 308. http://lib.dr.iastate.edu/cs_techreports/308 This Article is brought to you for free and open access by the Computer Science at Iowa State University Digital Repository. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. A Runtime Assertion Checker for the Java Modeling Language Abstract JML compiler to translate Java programs annotated with JML specifications into Java bytecode. The ompc iled bytecode transparently checks JML specifications at runtime. The JML ompc iler supports separate and modular compilation. The ppra oach brings programming benefits uchs as debugging and testing to BISLs and also helps programmers to use BISLs in their daily programming. A set of translation rules are defined from JML expressions into assertion checking code. The translation rules handle various kinds of undefinedness, such as runtime exceptions and non-executable constructs, in such a way as to both satisfy the standard rules of logic and detect as many assertion violations as possible. The rules also support various forms of quantifiers. Specification-only declarations such as model fields, ghost fields, and model methods are translated into access methods; e.g., an access method for a model field is an abstraction function that calculates an abstract value from the program state.
    [Show full text]
  • Conceptual Modeling of Time for Computational Ontologies
    IJCSNS International Journal of Computer Science and Network Security, VOL.20 No.6, June 2020 1 Conceptual Modeling of Time for Computational Ontologies Sabah Al-Fedaghi [email protected] Computer Engineering Department, Kuwait University, Kuwait 1.1 Ontologies and Conceptual Modeling Summary To provide a foundation for conceptual modeling, To provide a foundation for conceptual modeling, ontologies have been introduced to specify the entities, the ontologies have been introduced to specify the entities, the existences of which are acknowledged in the model [4]. existences of which are acknowledged in the model. Conceptual modeling involves “representing aspects of the Ontologies are essential components as mechanisms to world for the purpose of understanding and communication model a portion of reality in software engineering. In this context, a model refers to a description of objects and [, and hence] the contribution of a conceptual modeling notation rests in its ability to promote understanding about processes that populate a system. Developing such a description constrains and directs the design, development, the depicted reality among human users” [5]. Conceptualization refers to abstracting a given portion of and use of the corresponding system, thus avoiding such difficulties as conflicts and lack of a common reality that “exists beyond our concepts” [6], i.e., entities and processes that “exist” in the domain of the modeled understanding. In this cross-area research between modeling and ontology, there has been a growing interest system (note that what there may not be what exists – see [7]). It is also stated that ontology is “an explicit in the development and use of domain ontologies (e.g., Resource Description Framework, Ontology Web specification of a conceptualization” [8].
    [Show full text]
  • Towards a Unified View of Modeling and Programming
    Towards a Unified View of Modeling and Programming ∗ Manfred Broy1, Klaus Havelund2 , and Rahul Kumar3 1 Technische Universit¨atM¨unchen, Germany 2 Jet Propulsion Laboratory, California Inst. of Technology, USA 3 Microsoft Research, USA Abstract. In this paper we argue that there is a value in providing a unified view of modeling and programming. Models are meant to de- scribe a system at a high level of abstraction for the purpose of human understanding and analysis. Programs, on the other hand, are meant for execution. However, programming languages are becoming increasingly higher-level, with convenient notation for concepts that in the past would only be reserved formal specification languages. This leads to the obser- vation, that programming languages could be used for modeling, if only appropriate modifications were made to these languages. At the same time, model-based engineering formalisms such as UML and SysML are highly popular in engineering communities due to their graphical nature. However, these communities are, due to the complex nature of these for- malisms, struggling to find grounds in textual formalisms with proper semantics. A unified view of modeling and programming may provide a common ground. The paper illustrates these points with selected exam- ples comparing models and programs. 1 Introduction Over the last several decades we have observed the development of a large collec- tion of specification and modeling languages and associated methodologies, and tools. Their purpose is to support formulation of requirements and high-level designs before programming is initiated. Agile approaches advocate to avoid ex- plicit modeling entirely and suggest to go directly to coding.
    [Show full text]
  • Defining and Checking Model Smells: a Quality Assurance Task
    Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling FrameworkI Thorsten Arendta, Matthias Burhennea, Gabriele Taentzera aPhilipps-Universit¨atMarburg, FB12 - Mathematics and Computer Science, Hans-Meerwein-Strasse, D-35032 Marburg, Germany Abstract Models are the primary artifacts in software development processes following the model-based paradigm. Therefore, software quality and quality assurance frequently leads back to the quality and quality assurance of the involved models. In our approach, we propose a two-phase model quality assurance process considering syntactical model quality based on quality assurance techniques like model metrics, model smells, and model refactorings. In this paper, we present EMF Smell, a prototype Eclipse plug-in providing specification and detection of smells in models based on the Eclipse Modeling Framework. Keywords: modeling, model-based software development, model quality, model smells 1. Introduction The paradigm of model-based software development has become more and more popular, since it promises an increase in the efficiency and quality of software development. It is sensible to address quality issues of artifacts in early software development phases already, for example the quality of the involved models. Especially in model- driven software development, models become primary artifacts where quality assurance of the overall software product considerably relies on the quality assurance of involved software models. The quality of software models comprises several dimensions. In our approach, we consider a model quality assurance process that concentrates on the syntactical dimension of model quality. Syntactical quality aspects are all those which can be checked on the model syntax only. They include of course consistency with the language syntax definition, but also other aspects such as conceptual integrity using the same patterns and principles in similar modeling situations and conformity with modeling conventions often specifically defined for software projects.
    [Show full text]
  • Toward Instant Gradeification
    Toward Instant Gradeification Daniel M. Zimmerman∗, Joseph R. Kiniryy and Fintan Fairmichaelz ∗University of Washington Tacoma, USA — [email protected] yIT University of Copenhagen, Denmark — [email protected] zUniversity College Dublin, Ireland — fi[email protected] Abstract Providing useful feedback to students about both the functional correctness and the internal structure of their submissions is the most labor-intensive part of teaching programming courses. The former can be automated through test scripts and other similar mechanisms; however, the latter typically requires a detailed inspection of the submitted code. This paper introduces AutoGradeMe, a tool that automates much (but not all) of the work required to grade the internal structure of a student submission in the Java programming language. It integrates with the Eclipse IDE and multiple third-party plug-ins to provide instructors with an easy-to-use grading environment. More importantly, unlike other automatic grading tools currently in use, it gives students continuous feedback about their programs during the development process. 1. Introduction Grading student submissions is the most time-consuming, labor-intensive part of teaching programming courses. Graders must provide useful feedback to students on both external correctness, the degree to which the submission fulfills its functional requirements, and internal correctness, the degree to which the submission uses language features in reasonable ways and has easily understandable code (for some definition of “easily”). Some courses may require assignments to conform to a particular coding standard, to use algorithms with time or space complexity within a given threshold, or to use sound object-oriented design principles, all of which also fall under the umbrella of internal correctness.
    [Show full text]
  • UML-F: a Modeling Language for Object-Oriented Frameworks
    UML-F: A Modeling Language for Object-Oriented Frameworks Marcus Fontoura1, Wolfgang Pree2, and Bernhard Rumpe3 1 Department of Computer Science, Princeton University 35 Olden Street, Princeton, NJ 08544-2087, U.S.A [email protected] 2 C. Doppler Lab for Software Research, University of Constance D-78457 Constance, Germany [email protected] 3 Software and Systems Engineering, Munich University of Technology, D-80290 Munich, Germany [email protected] Abstract. The paper presents the essential features of a new member of the UML language family that supports working with object-oriented frameworks. This UML extension, called UML-F, allows the explicit representation of framework variation points. The paper discusses some of the relevant aspects of UML-F, which is based on standard UML extension mechanisms. A case study shows how it can be used to assist framework development. A discussion of additional tools for automating framework implementation and instantiation rounds out the paper. 1 Introduction Object-oriented (OO) frameworks and product line architectures have become popular in the software industry during the 1990s. Numerous frameworks have been developed in industry and academia for various domains, including graphical user interfaces (e.g. Java’s Swing and other Java standard libraries, Microsoft’s MFC), graph-based editors (HotDraw, Stingray’s Objective Views), business applications (IBM’s San Francisco), network servers (Java’s Jeeves), just to mention a few. When combined with components, frameworks provide the most promising current technology supporting large-scale reuse [16]. A framework is a collection of several fully or partially implemented components with largely predefined cooperation patterns between them.
    [Show full text]