Idea Group Publishing Advanced Topics In Database Research Volume 5 May 2006 ISBN 1591409357 pdf

  

Advanced Topics in

Database Research

Volume 5

  

Keng Siau

University of Nebraska-Lincoln, USA Acquisitions Editor: Michelle Potter Development Editor: Kristin Roth Senior Managing Editor: Amanda Appicello Managing Editor: Jennifer Neidig Copy Editor: Lisa Conley Typesetter: Jessie Weik Cover Design: Lisa Tosheff Printed at: Integrated Book Technology Published in the United States of America by Idea Group Publishing (an imprint of Idea Group Inc.)

  701 E. Chocolate Avenue, Suite 200 Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: [email protected] Web site: http://www.idea-group.com and in the United Kingdom by Idea Group Publishing (an imprint of Idea Group Inc.)

  3 Henrietta Street Covent Garden London WC2E 8LU Tel: 44 20 7240 0856 Fax: 44 20 7379 0609 Web site: http://www.eurospanonline.com

  

Copyright © 2006 by Idea Group Inc. All rights reserved. No part of this book may be

reproduced, stored or distributed in any form or by any means, electronic or mechani-

cal, including photocopying, without written permission from the publisher. Product or company names used in this book are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI of the trademark or registered trademark.

  

Advanced Topics in Database Research, Volume 5 is a part of the Idea Group Publishing

series named Advanced Topics in Database Research (Series ISSN 1537-9299).

  ISBN 1-59140-935-7 Paperback ISBN 1-59140-936-5 eISNB 1-59140-937-3 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library.

All work contributed to this book is new, previously-unpublished material. The views

expressed in this book are those of the authors, but not necessarily of the publisher.

  Advanced Topics in Database Research Series

  ISSN: 1537-9299 Series Editor

  Keng Siau University of Nebraska-Lincoln, USA Advanced Topics in Database Research, Volume 5 1-59140-935-7 (h/c) • 1-59140-936-5 (s/c) • copyright 2006 Advanced Topics in Database Research, Volume 4 1-59140-471-1 (h/c) • 1-59140-472-X (s/c) • copyright 2005 Advanced Topics in Database Research, Volume 3 1-59140-255-7 (h/c) • 1-59140-296-4 (s/c) • copyright 2004 Advanced Topics in Database Research, Volume 2 1-59140-063-5 (h/c) • copyright 2003 Advanced Topics in Database Research, Volume 1 1-930708-41-6 (h/c) • copyright 2002

  Visit us today at www.idea-group.com !

  I DEA GROU P PU BLI SH I N G

  Advanced Topics in Database Research Volume 5

  Table of Contents

Preface ........................................................................................................................ viii

Section I: Analysis and Evaluation of Database Models

  Chapter I A Rigorous Framework for Model-Driven Development ............................................... 1 Liliana Favre, Universidad Nacional del Centro de la Provincia de Buenos Aires, Argentina Chapter II Adopting Open Source Development Tools in a Commercial Production

Environment: Are We Locked in? .............................................................................. 28

Anna Persson,University of Skövde, Sweden Henrik Gustavsson, University of Skövde, Sweden Brian Lings,University of Skövde, Sweden Björn Lundell, University of Skövde, Sweden Anders Mattsson, Combitech AB, Sweden Ulf Ärlig, Combitech AB, Sweden Chapter III Classification as Evaluation: A Framework Tailored for Ontology

Building Methods ........................................................................................................ 41

Sari Hakkarainen, Norwegian University of Science and Technology, Norway

Darijus Strasunskas, Norwegian University of Science and Technology,

Norway, & Vilnius University, Lithuania

Lillian Hella, Norwegian University of Science and Technology, Norway

  Chapter IV Exploring the Concept of Method Rationale: A Conceptual Tool to

Understand Method Tailoring ..................................................................................... 63

Pär J. Ågerfalk, University of Limerick, Ireland Brian Fitzgerald, University of Limerick, Ireland Chapter V Assessing Business Process Modeling Languages Using a Generic

Quality Framework ..................................................................................................... 79

Anna Gunhild Nysetvold, Norwegian University of Science and Technology, Norway

John Krogstie, Norwegian University of Science and Technology, Norway

Chapter VI An Analytical Evaluation of BPMN Using a Semiotic Quality Framework ............... 94

Terje Wahl, Norwegian University of Science and Technology, Norway

Guttorm Sindre, Norwegian University of Science and Technology, Norway Chapter VII Objectification of Relationships ............................................................................... 106 Terry Halpin, Neumont University, USA Chapter VIII A Template-Based Analysis of GRL ......................................................................... 124 Patrick Heymans, University of Namur, Belgium Germain Saval, University of Namur, Belgium Gautier Dallons, DECIS SA/NV, Belgium Isabelle Pollet, SmalS-MvM/Egov, Belgium Section II: Database Designs and Applications Chapter IX Externalisation and Adaptation of Multi-Agent System Behaviour .......................... 148 Liang Xiao, Queen’s University Belfast, UK Des Greer, Queen’s University Belfast, UK Chapter X Reuse of a Repository of Conceptual Schemas in a Large Scale Project ................ 170 Carlo Batini, University of Milano Bicocca, Italy Manuel F. Garasi, Italy Riccardo Grosso, CSI-Piemonte, Italy

  Chapter XI The MAIS Approach to Web Service Design ............................................................ 187 Marzia Adorni, Francesca Arcelli, Carlo Batini, Marco Comerio, Flavio De Paoli, Simone Grega, Paolo Losi, Andrea Maurino,

Claudia Raibulet, Francesco Tisato, Università di Milano Bicocca, Italy

Danilo Ardagna, Luciano Baresi, Cinzia Cappiello, Marco Comuzzi, Chiara Francalanci, Stefano Modafferi, & Barbara Pernici, Politecnico di Milano, Italy Chapter XII Toward Autonomic DBMSs: A Self-Configuring Algorithm for DBMS

Buffer Pools .............................................................................................................. 205

Patrick Martin, Queen’s University, Canada Wendy Powley, Queen’s University, Canada Min Zheng, Queen’s University, Canada Chapter XIII Clustering Similar Schema Elements Across Heterogeneous Databases:

A First Step in Database Integration ........................................................................ 227

Huimin Zhao, University of Wisconsin-Milwaukee, USA Sudha Ram, University of Arizona, USA Chapter XIV An Efficient Concurrency Control Algorithm for High-Dimensional Index

Strutures ................................................................................................................... 249

Seok Il Song, Chungju National University, Korea Jae Soo Yoo, Chungbuk National University, Korea Section III: Database Design Issues and Solutions Chapter XV Modeling Fuzzy Information in the IF 2 O and Relational Data Models ..................... 273 Z. M. Ma, Northeastern University, China

  Chapter XVI Evaluating the Performance of Dynamic Database Applications .............................. 294 Zhen He, La Trobe University, Australia Jérôme Darmont, Université Lumière Lyon 2, France Chapter XVII MAMDAS: A Mobile Agent-Based Secure Mobile Data Access System

Framework ................................................................................................................ 320

Yu Jiao, Pennsylvania State University, USA Ali R. Hurson, Pennsylvania State University, USA

  vi

  Chapter XVIII Indexing Regional Objects in High-Dimensional Spaces ........................................ 348 Byunggu Yu, University of Wyoming, USA Ratko Orlandic, University of Illinois at Springfield, USA Section IV: Semantic Database Analysis Chapter XIX A Concept-Based Query Language Not Using Proper Association Names ............. 374 Vladimir Ovchinnikov, Lipetsk State Technical University, Russia Chapter XX Semantic Analytics in Intelligence: Applying Semantic Association

Discovery to Determine Relevance of Heterogeneous Documents ........................... 401

Boanerges Aleman-Meza, University of Georgia, USA Amit P. Sheth, University of Georgia, USA Devanand Palaniswami, University of Georgia, USA Matthew Eavenson, University of Georgia, USA I. Budak Arpinar, University of Georgia, USA Chapter XXI Semantic Integration in Multidatabase Systems: How Much

Can We Integrate? .................................................................................................... 420

Te-Wei Wang, University of Illinois, USA Kenneth E. Murphy, Willamette University, USA

About the Editor ......................................................................................................... 440

About the Authors ..................................................................................................... 441

Index ........................................................................................................................ 453

  viii

Preface

  

INTRODUCTION

  Database management is an integral part of many business applications, espe- cially considering the current business environment that emphasizes data, information, and knowledge as crucial components to the proper utilization and dispensing of an organization’s resources. Building upon the work of previous volumes in this book series, we are once again proud to present a collection of high-quality and state-of-the- art research conducted by experts from all around the world .

  This book is designed to provide researchers and academics with the latest re- search-focused chapters on database and database management; these chapters will be insightful and helpful to their current and future research. The book is also designed to serve technical professionals and aims to enhance professional understanding of the capabilities and features of new database applications and upcoming database technologies.

  This book is divided into four sections: (I) Analysis and Evaluation of Database Models, (II) Database Designs and Applications, (III) Database Design Issues and Solutions, and (IV) Semantic Database Analysis.

  

SECTION I: ANALYSIS AND

EVALUATION OF DATABASE MODELS

Chapter I, “A Rigorous Framework for Model-Driven Development,” describes a

  rigorous framework that comprises the NEREUS metamodeling notation, a system of transformation rules to bridge the gap between UML/OCL and NEREUS and, the defini- tion of MDA-based reusable components and model/metamodeling transformations. This chapter also shows how to integrate NEREUS with algebraic languages using the Common Algebraic Specification Language.

  Chapter II, “Adopting Open-Source Development Tools in a Commercial Produc-

  tion Environment: Are We Locked in?” explores the use of a standardized interchange format for increased flexibility in a company environment. It also reports on a case study in which a systems development company has explored the possibility of comple- menting its current proprietary tools with open-source products for supporting its model-based development activities.

  ix

  Chapter III, “Classification as Evaluation: A Framework Tailored for Ontology Building Methods,” presents a weighted classification approach for ontology-building

  guidelines. A sample of Web-based ontology-building method guidelines is evaluated in general and experimented with when using data from a case study. It also discusses directions for further refinement of ontology-building methods.

  Chapter IV, “Exploring the Concept of Method Rationale: A Conceptual Tool to Understand Method Tailoring,” starts off explaining why systems development meth-

  ods also encapsulate rationale. It goes on to show how the combination of two differ- ent aspects of method rationale can be used to enlighten the communication and appre- hension methods in systems development, particularly in the context of tailoring of methods to suit particular development situations.

  Chapter V, “Assessing Business Process Modeling Languages Using a Generic Quality Framework,” evaluates a generic framework for assessing the quality of models

  and modeling languages used in a company. This chapter illustrates the practical utility of the overall framework, where language quality features are looked upon as a means to enable the creation of other models of high quality.

  Chapter VI, “An Analytical Evaluation of BPMN Using a Semiotic Quality Frame-

  work,” explores the different modeling languages available today. It recognizes that many of them define overlapping concepts and usage areas and consequently make it difficult for organizations to select the most appropriate language related to their needs. It then analytically evaluates the business process modeling notation (BPMN) accord- ing to the semiotic quality framework. Its further findings indicate that BPMN is easily learned for simple use, and business process diagrams are relatively easy to under- stand.

  Chapter VII, “Objectification of Relationships,” provides an in-depth analysis of

  objectification, shedding new light on its fundamental nature, and providing practical guidelines on using objectification to model information systems.

  Chapter VIII, “A Template-Based Analysis of GRL,” applies the template pro-

  posed by Opdahl and Henderson-Sellers to the goal-oriented Requirements Engineer- ing Language GRL. It then further proposes a metamodel of GRL that identifies the constructs of the language and the links between them. The purpose of this chapter is to improve the quality of goal modeling.

  

SECTION II: DATABASE DESIGNS

AND APPLICATIONS

Chapter IX, “Externalisation and Adaptation of Multi-Agent System Behaviour,”

  proposes the adaptive agent model (AAM) for agent-oriented system development. It then explains that, in AAM, requirements can be transformed into externalized busi- ness rules that represent agent behaviors. Collaboration between agents using these rules can be modeled using extended UML diagrams. An illustrative example is used here to show how AAM is deployed, demonstrating adaptation of inter-agent collabo- ration, intra-agent behaviors, and agent ontologies.

  Chapter X, “Reuse of a Repository of Conceptual Schemas in a Large-Scale Project,” describes a methodology and a tool for the reuse of a repository of conceptual

  schemas. The methodology described in this chapter is applied in a project where an

  x

  existing repository of conceptual schemas, representing information of interest for central public administration, is used in order to produce the corresponding repository of the administrations located in a region.

  Chapter XI, “The MAIS Approach to Web Service Design,” presents a first at-

  tempt to realize a methodological framework supporting the most relevant phases of the design of a value-added service. The framework has been developed as part of the MAIS project. It describes the MAIS methodological tools available for different phases of service life cycle and discusses the main guidelines driving the implementation of a service management architecture that complies with the MAIS methodological approach.

  Chapter XII, “Toward Autonomic DBMSs: A Self-Configuring Algorithm for DBMS Buffer Pools,” introduces autonomic computing as a means to automate the complex

  tuning, configuration, and optimization tasks that are currently the responsibility of the database administrator.

  Chapter XIII, “Clustering Similar Schema Elements Across Heterogeneous Data-

  bases: A First Step in Database Integration,” proposes a cluster analysis-based ap- proach to semi-automating the interschema relationship identification process, which is typically very time-consuming and requires extensive human interaction. It also de- scribes a self-organizing map prototype the authors have developed that provides users with a visualization tool for displaying clustering results and for incremental evaluation of potentially similar elements from heterogeneous data sources.

  Chapter XIV, “An Efficient Concurrency Control Algorithm for High-Dimensional Index Structures,” introduces a concurrency control algorithm based on link-technique

  for high-dimensional index structures. This chapter proposes an algorithm that mini- mizes delay of search operations in high-dimensional index structures. The proposed algorithm also supports concurrency control on reinsert operations in such structures.

SECTION III: DATABASE DESIGN

  Chapter XV, “Modeling Fuzzy Information in the IF O and Relational Data Mod- 2

  els,” examines some conceptual data models used in computer applications in non- traditional area. Based on a fuzzy set and possibility distribution theory, different lev- els of fuzziness are introduced into IFO data model and the corresponding graphical representations are given. IFO data model is then extended to a fuzzy IFO data model, denoted IF O. This chapter also provides the approach to mapping an IF O model to a 2 2 fuzzy relational database schema.

  Chapter XVI, “Evaluating the Performance of Dynamic Database Applications,”

  explores the effect that changing access patterns has on the performance of database management systems. The studies indicate that all existing benchmarks or evaluation frameworks produce static access patterns in which objects are always accessed in the same order repeatedly. The authors in this chapter instantiate the Dynamic Evaluation Framework, which simulates access pattern changes using configurable styles of change, into the Dynamic object Evaluation Framework that is designed for object databases.

  Chapter XVII, “MAMDAS: A Mobile Agent-Based Secure Mobile Data Access System Framework,” recognizes that creating a global information-sharing environ- ment in the presence of autonomy and heterogeneity of data sources is a difficult task.

  xi

  The constraints on bandwidth, connectivity, and resources worsen the problem when adding mobility and wireless medium to the mix. The authors in this chapter designed and prototyped a mobile agent-based secure mobile data access system (MAMDAS) framework for information retrieval in large and heterogeneous databases. They also proposed a security architecture for MAMDAS to address the issues of information security.

  Chapter XVIII, “Indexing Regional Objects in High-Dimensional Spaces,” re-

  views the problems of contemporary spatial access methods in spaces with many di- mensions and presents an efficient approach to building advanced spatial access meth- ods that effectively attack these problems. It also discusses the importance of high- dimensional spatial access methods for the emerging database applications.

  

SECTION IV:

SEMANTIC DATABASE ANALYSIS

  Chapter XIX, “A Concept-Based Query Language Not Using Proper Association Names,” focuses on a concept-based query language that permits querying by means

  of application domain concepts only. It introduces constructions of closures and con- texts as applied to the language which permit querying some indirectly associated concepts as if they were associated directly and adopting queries to users’ needs without rewriting. The author of this chapter believes that the proposed language opens new ways of solving tasks of semantic human-computer interaction and seman- tic data integration.

  Chapter XX, “Semantic Analytics in Intelligence: Applying Semantic Association Discovery to Determine Relevance of Heterogeneous Documents,” describes an onto-

  logical approach for determining the relevance of documents based on the underlying concept of exploiting complex semantic relationships among real-world entities. This chapter builds upon semantic metadata extraction and annotation, practical domain- specific ontology creation, main-memory query processing, and the notion of semantic association. It also discusses how a commercial product using Semantic Web technol- ogy, Semagix Freedom, is used for metadata extraction when designing and populating an ontology from heterogeneous sources.

  Chapter XXI, “Semantic Integration in Multidatabase Systems: How Much Can We Integrate?” reviews the semantic integration issues in multidatabase development

  and provides a standardized representation for classifying semantic conflicts. It then explores the idea further by examining semantic conflicts and proposes taxonomy to classify semantic conflicts in different groups.

  These 21 chapters provide a sample of the cutting edge research in all facets of the database field. This volume aims to be a valuable resource for scholars and practi- tioners alike, providing easy access to excellent chapters which address the latest research issues in this field.

  Keng Siau University of Nebraska-Lincoln, USA January 2006

  

Section I:

Analysis and Evaluation

of Database Models

  A Rigorous Framework for Model-Driven Development 1

Chapter I A Rigorous Framework

  

for Model-Driven

Development

  Liliana Favre, Universidad Nacional del Centro de la Provincia de Buenos Aires, Argentina

  

ABSTRACT

The model-driven architecture (MDA) is an approach to model-centric software

development. The concepts of models, metamodels, and model transformations are at

the core of MDA. Model-driven development (MDD) distinguishes different kinds of

models: the computation-independent model (CIM), the platform-independent model

(PIM), and the platform-specific model (PSM). Model transformation is the process of

converting one model into another model of the same system, preserving some kind of

equivalence relation between them. One of the key concepts behind MDD is that models

generated during software developments are represented using common metamodeling

techniques. In this chapter, we analyze an integration of MDA metamodeling techniques

with knowledge developed by the community of formal methods. We describe a rigorous

framework that comprises the NEREUS metamodeling notation (open to many other

formal languages), a system of transformation rules to bridge the gap between UML/

OCL and NEREUS, the definition of MDA-based reusable components, and model/

metamodeling transformations. In particular, we show how to integrate NEREUS with

2 Favre algebraic languages using the Common Algebraic Specification Language (CASL).

  NEREUS focuses on interoperability of formal languages in MDD.

  

INTRODUCTION

  The model-driven architecture (MDA) is an initiative of the Object Management Group (OMG, www.omg.org), which is facing a paradigm shift from object-oriented software development to model-centric development. It is emerging as a technical framework to improve portability, interoperability, and reusability (MDA, www.omg.org/ docs/omg/03-06-01.pdf). MDA promotes the use of models and model-to-model trans- formations for developing software systems. All artifacts, such as requirement specifi- cations, architecture descriptions, design descriptions, and code, are regarded as models and are represented using common modeling languages. MDA distinguishes different kinds of models: the computation-independent model (CIM), the platform-independent model (PIM), and the platform-specific model (PSM). Unified Modeling Language (UML, www.uml.org) combined with Object Constraint Language (OCL, www.omg.org/cgi-bin/ doc?ptc/2003-10-14) is the most widely used way to specify PIMs and PSMs.

  A model-driven development (MDD) is carried out as a sequence of model trans- formations. Model transformation is the process of converting one model into another model of the same system, preserving some kind of equivalence relation between them. The high-level models that are developed independently of a particular platform are gradually transformed into models and code for specific platforms.

  One of the key concepts behind MDA is that all artifacts generated during software developments are represented using common metamodeling techniques. Metamodels in the context of MDA are expressed using meta object facility (MOF) (www.omg.org/mof). The integration of UML 2.0 with the OMG MOF standards provides support for MDA tool interoperability (www.uml.org). However, the existing MDA-based tools do not provide sophisticated transformations because many of the MDA standards are recent or still in development (CASE, www.omg.org/cgi-bin/doc?ad/2001-02-01). For instance, OMG is working on the definition of a query, view, transformations (QVT) metamodel, and to date there is no way to define transformations between MOF models (http:// www.sce.carleton.ca/courses/sysc-4805/w06/courseinfo/OMdocs/MOF-QVT-ptc-05-11- 01.pdf). There is currently no precise foundation for specifying model-to-model trans- formations.

  MDDs can be improved by means of other metamodeling techniques. In particular, in this chapter, we analyze the integration of MDA with knowledge developed by the formal method community. If MDA becomes a commonplace, adapting it to formal development will become crucial. MDA can take advantage of the different formal languages and the diversity of tools developed for prototyping, model validations, and model simulations. Currently, there is no way to integrate semantically formal languages and their related tools with MDA. In this direction, we define a framework that focuses on interoperability of formal languages in MDD. The framework comprises:

  The metamodeling notation NEREUS; • A “megamodel” for defining MDA-based reusable components; • A bridge between UML/OCL and NEREUS; and • Bridges between NEREUS and formal languages.

  A Rigorous Framework for Model-Driven Development 3

  Considering that different modeling/programming languages could be used to specify different kinds of models (PIMs, PSMs, and code models) and different tools could be used to validate or verify them, we propose to use the NEREUS language, which is a formal notation suited for specifying UML-based metamodels. NEREUS can be viewed as an intermediate notation open to many other formal specifications, such as algebraic, functional, or logic ones.

  The “megamodel” defines reusable components that fit with the MDA approach. A “megamodel” is a set of elements that represent and/or refer to models and metamodel (Bezivin, Jouault, & Valduriez, 2004). Metamodels that describe instances of PIMs, PSMs, and code models are defined at different abstraction levels and structured by different relationships. The “megamodel” has two views, one of them in UML/OCL and the other in NEREUS.

  We define a bridge between UML/OCL and NEREUS consisting of a system of transformation rules to convert automatically UML/OCL metamodels into NEREUS specifications. We also formalize model/metamodel transformations among levels of PIMs, PSMs, and implementations.

  A bridge between NEREUS and algebraic languages was defined by using the common algebraic specification language (CASL) (Bidoit & Mosses, 2004), that has been designed as a general-purpose algebraic specification language and subsumes many existing formal languages.

  Rather than requiring developers to manipulate formal specifications, we want to provide rigorous foundations for MDD in order to develop tools that, on one hand, take advantage of the power of formal languages and, on the other hand, allow developers to directly manipulate the UML/OCL models that they have created.

  This chapter is structured as follows. We first provide some background informa- tion and related work. The second section describes how to formalize UML-based metamodels in the intermediate notation NEREUS. Next, we introduce a “megamodel” to define reusable components in a way that fits MDA. Then, we show how to bridge the gap between UML/OCL and NEREUS. An integration of NEREUS with CASL is then described. Next, we compare our approach with other existing ones, and then discuss future trends in the context of MDA. Finally, conclusions are presented.

  

BACKGROUND

The Model-Driven Architecture

  MDA distinguishes different kinds of models: the computation-independent model (CIM), the platform-independent model (PIM), the platform-specific model (PSM), and code models. A CIM describes a system from the computation-independent viewpoint that focuses on the environment of and the requirements for the system. In general, it is called a domain model and may be expressed using business models. A PIM is a model that contains no reference to the platforms that are used to realize it. A PSM describes a system in the terms of the final implementation platform, for example, .NET or J2EE. UML combined with OCL is the most widely used way of writing either PIMs or PSMs.

  The transformation for one PIM to several PSMs is at the core of MDA. A model- driven development is carried out as a sequence of model transformations that includes,

4 Favre

  Figure 1. A simplified UML metamodel nestedPackages

  • parents 0..1
  • * Interface

    * * 0.. 0..

  Class Package owner

  • 1 source 1 name:String name:String target 1

  1 otherEnd

  • 1
  • Association End Association

  2

  1

  • associationEnd

  name:String name:String

  1 association context Package self.class -> forAll (e1, e2 / e1.name = e2.name implies e1 = e2) self.association -> forAll (a1, a2 / a1.name = a2.name implies a1 = a2)

self.nestedPackages -> forAll (p1, p2 / p1.name = p2.name implies p1 = p2)

context AssociationEnd source = self.otherEnd.target and target = otherEnd.source

at least, the following steps: construct a CIM; transform the CIM into a PIM that provides

a computing architecture independent of specific platforms; transform the PIM into one

or more PSMs, and derive code directly from the PSMs (Kleppe, Warmer, & Bast, 2003).

  Metamodeling has become an essential technique in model-centric software devel-

opment. The UML itself is defined using a metamodeling approach. The metamodeling

framework for the UML is based on an architecture with four layers: meta-metamodel,

metamodel, model, and user objects. A model is expressed in the language of one specific

metamodel. A metamodel is an explicit model of the constructs and rules needed to

construct specific models. A meta-metamodel defines a language to write metamodels.

The meta-metamodel is usually self-defined using a reflexive definition and is based on

at least three concepts (entity, association, and package) and a set of primitive types.

Languages for expressing UML-based metamodels are based on UML class diagrams and

OCL constraints to rule out illegal models.

  Related OMG standard metamodels and meta-metamodels such as Meta Object

Facility (MOF) (www.omg.org/mof), software process engineering metamodel (SPEM,

www.omg.org/technology/documents/formal/spem.htm), and common warehouse

  A Rigorous Framework for Model-Driven Development 5

  philosophy. Metamodels in the context of MDA are expressed using MOF. It defines a common way for capturing all the diversity of modeling standards and interchange constructs that are used in MDA. Its goal is to define languages in a same way and then integrate them semantically. MOF and the core of the UML metamodel are closely aligned with their modeling concepts. The UML metamodel can be viewed as an “instance of” the MOF metamodel. OMG is working on the definition of a query, view, transformations (QVT) metamodel for expressing transformations as an extension of MOF.

  Figure 1 depicts a “toy” metamodel that includes the core modeling concepts of the UML class diagrams, including classes, interfaces, associations, association-ends, and packages. As an example, Figure 1 shows some OCL constraints that also complement the class diagram.

  MDA-Based Tools

  There are at least 100 UML CASE tools that differ widely in functionality, usability, performance, and platforms. Currently, about 10% of them provide some support for MDA. Examples of these tools include OptimalJ, ArcStyler, AndroMDA, Ameos, and Codagen, among others. The tool market around MDA is still in flux. References to MDA- based tools can be found at www.objectsbydesign.com/tools. As an example, OptimalJ is an MDA-based environment to generate J2EE applications. OptimalJ distinguishes three kinds of models: a domain model that correspond to a PIM model, an application model that includes PSMs linked to different platforms (Relational-PSM, EJB-PSM and web-PSM), and an implementation model. The transformation process is supported by transformation and functional patterns. OptimalJ allows the generation of PSMs from a PIM and a partial code generation.

  UML CASE tools provide limited facilities for refactoring on source code through an explicit selection made for the designer. However, it will be worth thinking about refactoring at the design level. The advantage of refactoring at the UML level is that the transformations do not have to be tied to the syntax of a programming language. This is relevant since UML is designed to serve as a basis for code generation with the MDA approach (Sunyé, Pollet, Le Traon, & Jezequel, 2001).

  Many UML CASE tools support reverse engineering; however, they only use more basic notational features with a direct code representation and produce very large diagrams. Reverse engineering processes are not integrated with MDDs either.

  Techniques that currently exist in UML CASE tools provide little support for validating models in the design stages. Reasoning about models of systems is well supported by automated theorem provers and model checkers; however, these tools are not integrated into CASE tools environments.

  A discussion of limitations of the forward engineering processes supported by the existing UML CASE tools may be found in Favre, Martinez, and Pereira (2003, 2005). The MDA-based tools use MOF to support OMG standards such as UML and XML metadata interchange (XMI). MOF has a central role in MDA as a common standard to integrate all different kinds of models and metadata and to exchange these models among tools. However, MOF does not allow the capture of semantic properties in a platform- independent way, and there are no rigorous foundations for specifying transformations among different kinds of models.

6 Favre

  MDA and Semi-Formal/Formal Modeling Techniques Various research analyzed the integration of semiformal techniques and object-

oriented designs with formal techniques. It is difficult to compare the existing results and

to see how to integrate them in order to define standard semantics since they specify

different UML subsets and are based on different formalisms. Next, we mention only some

of numerous existing works. U2B transforms UML models to B (Snook & Butler, 2002).

Kim and Carrington (2002) formalize UML by using OBJECT-Z. Reggio, Cerioli, and

Astesiano (2001) present a general framework of the semantics of UML, where the

different kinds of diagrams within a UML model are given individual semantics and then

such semantics are composed to get the semantics on the overall model. McUmber and

Cheng (2001) propose a general framework for formalizing UML diagrams in terms of

different formal languages using a mapping from UML metamodels and formal languages.

  

Kuske, Gogolla, Kollmann, and Kreowski (2002) describe an integrated semantics for

UML class, object, and state diagrams based on graph transformation.

  UML CASE tools could be enhanced with functionality for formal specification and

deductive verification; however, only research tools provide support for advanced

analysis. For example, the main task of USE tool (Gogolla, Bohling, & Ritchers, 2005) is

to validate and verify specifications consisting of UML/OCL class diagrams. Key

(Ahrendt et al., 2005) is a tool based on Together (CASE, www.omg.org/cgi-bin/doc?ad/

2001-02-01) enhanced with functionality for formal specification and deductive verifica-

tion.

  To date, model-driven approaches have been discussed at several workshops

(Abmann, 2004; Evans, Sammut, & Willans, 2003; Gogolla, Sammut, & Whittle, 2004).

Several metamodeling approaches and model transformations have been proposed to

MDD (Atkinson & Kuhne, 2002; Bezivin, Farcet, Jezequel, Langlois, & Pollet, 2003;

Buttner & Gogolla, 2004; Caplat & Sourrouille, 2002; Cariou, Marvie, Seinturier and

Duchien, 2004; Favre, 2004; Gogolla, Lindow, Richters, & Ziemann, 2002; Kim &

Carrington, 2002).

  Akehurst and Kent (2002) propose an approach that uses metamodeling patterns

that capture the essence of mathematical relations. The proposed technique is to adopt

a pattern that models a transformation relationship as a relation or collections of relations,

and encode this as an object model. Hausmann (2003) defined an extension of a

metamodeling language to specify mappings between metamodels based on concepts

presented in Akehurst and Kent (2002). Kuster, Sendall, and Wahler (2004) compare and

contrast two approaches to model transformations: one is graph transformation and the

other is a relational approach. Czarnecki and Helsen (2003) describe a taxonomy with a

feature model to compare several existing and proposed model-to-model transformation

approaches. To date, there is no way to integrate semantically formal languages and their

related tools with Model-Driven Development.

  

FORMALIZING METAMODELS:

THE NEREUS LANGUAGE

A combination of formal specifications and metamodeling techniques can help us

to address MDA. A formal specification clarifies the intended meaning of metamodel/

  A Rigorous Framework for Model-Driven Development 7

  models, helps to validate model transformations, and provides reference for implemen- tation. In this light, we propose the intermediate notation NEREUS that focuses on interoperability of formal languages. It is suited for specifying metamodels based on the concepts of entity, associations, and systems. Most of the UML concepts for the metamodels can be mapped to NEREUS in a straightforward manner. NEREUS is relation- centric; that is, it expresses different kinds of relations (dependency, association, aggregation, composition) as primitives to develop specifications.

  Defining Classes in NEREUS

  In NEREUS the basic unit of specification is the class. Classes may declare types, operations, and axioms that are formulas of first-order logic. They are structured by three different kinds of relations: importing, inheritance, and subtyping. Figure 2 shows its syntax.

  NEREUS distinguishes variable parts in a specification by means of explicit parameterization. The elements of are pairs where is the

  <parameterList> C1:C2 C1

  formal generic parameter constrained by an existing class (only subclasses of C2 will

  C2

  be actual parameters). The IMPORTS clause expresses clientship relations. The speci- fication of the new class is based on the imported specifications declared in

  <importList> and their public operations may be used in the new specification.

  NEREUS distinguishes inheritance from subtyping. Subtyping is like inheritance of behavior, while inheritance relies on the module viewpoint of classes. Inheritance is expressed in the INHERITS clause; the specification of the class is built from the union of the specifications of the classes appearing in the . Subtypings are

  <inheritsList>

  declared in the IS-SUBTYPE-OF clause. A notion closely related with subtyping is polymorphism, which satisfies the property that each object of a subclass is at the same time an object of its superclasses.

  NEREUS allows us to define local instances of a class in the IMPORTS and

  INHERITS clauses by the following syntax where the

  ClassName [<bindingList>]

  elements of can be pairs of class names being a component of

  <bindingList> C1: C2 C2

  ; pairs of sorts , and/or pairs of operations with and

  

ClassName s1: s2 o1: o2 o2 s2

belonging to the own part of .

  ClassName

  NEREUS distinguishes deferred and effective parts. The DEFERRED clause de- clares new types or operations that are incompletely defined. The EFFECTIVE clause either declares new types or operations that are completely defined or completes the definition of some inherited type or operation.

  Figure 2. Class syntax in NEREUS CLASS className [<parameterList>] FUNCTIONS <functionList>

   IMPORTS <importsList> EFFECTIVE

   INHERITS <inheritsList> TYPES <typesList>

   IS-SUBTYPE-OF <subtypeList> FUNCTIONS <functionList> GENERATED-BY <basicConstructors> AXIOMS <varList> ASSOCIATES <associatesList> <axiomList> END-CLASS DEFERRED TYPES <typesList>