Semantic-enabled Software Engineering and Development



Similar documents
Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Semantic interoperability of dual-model EHR clinical standards

CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS

A UML 2 Profile for Business Process Modelling *

Secure Semantic Web Service Using SAML

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Project VIDE Challenges of Executable Modelling of Business Applications

Ontology-based Archetype Interoperability and Management

An ARIS-based Transformation Approach to Semantic Web Service Development

Designing and Enacting Cross-organisational Business Processes: A Model-driven, Ontology-based Approach

Semantic Business Process Management

Semantic Business Process Management Lectuer 1 - Introduction

Meta-Model specification V2 D

Revel8or: Model Driven Capacity Planning Tool Suite

Model-Driven Development: A Metamodeling Foundation

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

Information Management Metamodel

Rules and Business Rules

Business Rule Standards -- Interoperability and Portability

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

SmartLink: a Web-based editor and search environment for Linked Services

SEMANTIC VIDEO ANNOTATION IN E-LEARNING FRAMEWORK

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Designing a Semantic Repository

SERENITY Pattern-based Software Development Life-Cycle

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Annotation for the Semantic Web during Website Development

Semantic Transformation of Web Services

Applying 4+1 View Architecture with UML 2. White Paper

Foundations of Model-Driven Software Engineering

A Software Development Platform for SOA

Semantic Reference- and Business Process Modeling enables an Automatic Synthesis

Development of Tool Extensions with MOFLON

Towards Collaborative Requirements Engineering Tool for ERP product customization

UIMA and WebContent: Complementary Frameworks for Building Semantic Web Applications

FHIM Model Content Overview

MDA Transformations Applied to Web Application Development 1

Semantic Model-Driven Architecting of Service-based Software Systems

ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004

Semantic Search in Portals using Ontologies

Context-aware Model Driven Development by Parameterized Transformation

Analysis of the Specifics for a Business Rules Engine Based Projects

An MDA Approach for the Development of Web applications

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview of major concepts in the service oriented extended OeBTO

Business Modeling with UML

MDE Adoption in Industry: Challenges and Success Criteria

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Scalable End-User Access to Big Data HELLENIC REPUBLIC National and Kapodistrian University of Athens

CIM to PIM Transformation: A criteria Based Evaluation

The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle

Semantic Business Process Modeling Benefits and Capability

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

Introduction to Service Oriented Architectures (SOA)

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML Forms

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

BUSINESS RULES AND GAP ANALYSIS

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Service-Oriented Architecture and Software Engineering

Model-Driven Data Warehousing

Tool Support for Model Checking of Web application designs *

What is a metamodel: the OMG s metamodeling infrastructure

UML-based Test Generation and Execution

Ontology and automatic code generation on modeling and simulation

The OMG BPM Standards

An Ontological Approach to Oracle BPM

Supporting Change-Aware Semantic Web Services

Reuse and Migration of Legacy Systems to Interoperable Cloud Services

Clarifying a vision on certification of MDA tools

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

I. INTRODUCTION NOESIS ONTOLOGIES SEMANTICS AND ANNOTATION

Developing in the MDA Object Management Group Page 1

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

business transaction information management

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Ontological Representations of Software Patterns

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

On the general structure of ontologies of instructional models

Design by Contract beyond class modelling

UML TUTORIALS THE USE CASE MODEL

Improving EHR Semantic Interoperability Future Vision and Challenges

Generating Aspect Code from UML Models

How To Develop Software

Surveying and evaluating tools for managing processes for software intensive systems

Service Oriented Architecture

Development Process Automation Experiences in Japan

An Approach to Project Planning Employing Software and Systems Engineering Meta-Model Represented by an Ontology

ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS

CS4507 Advanced Software Engineering

Chapter 4 Software Lifecycle and Performance Analysis

Enabling Self Organising Logistics on the Web of Things

Enhancement of Development Technologies for Agent- Based Software Engineering

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

Transcription:

Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract: Like in automotive and other production oriented domains, industrialization was the key issue for reducing production costs and being competitive. However, software is still developed mainly from scratch in a labour intensive way. In order to be competitive with e.g. low-wage countries, the software development process has to be industrialized and automated. The modeldriven software development approach as well as Semantic Web technologies can help to support such software industrialization. Therefore, in this paper we will set up a vision and give concrete examples how semantic enabled software development can look like and give a first architecture of a development environment supporting this vision. 1 Introduction In the last years software development has been subject to fundamental changes. The key for success is now named software industrialization. In contrast to software development by hand, industrial production processes are considered as an alternative paradigm for solving the problems of today s software industry. With OMG s model-driven architecture (MDA TM [MDA]), i.e. automated model transformations and code generation, a first step towards software industrialization is taken. Moreover, production lines support this idea for specific application domains. The key issues in industrial production environments are reuse of standardized components and processes, global cooperation, and little vertical integration. To overcome the heterogeneity and make things working smoothly together, Semantic Web technologies can be applied. In our opinion the combination of model-driven software development and ontological concepts from the Semantic Web area can therefore support the industrialization of software development. Model-driven Software Development (MDSD): As a generalization of OMG s Modeldriven Architecture paradigm (MDA TM ), MDSD is an approach to software development based on modelling and automated transformation of models to implementations [Fr03], starting at a computational independent model towards a platform independent model and refining those to platform specific models from which the code can be generated. In MDSD models are more than abstract descriptions of systems as they are used for model transformations and code generation they are the key part defining a software system. Largely automated model transformations refine abstract models to more concrete models (vertical model transformations) or simply describe mappings between models of the same level of abstraction (horizontal model transformations). Semantic Web: Ontologies are considered nowadays a key element for semantic

interoperability and act as shared vocabularies whose semantics is specified in a (reasonably) unambiguous and machine-processable form [Bo02]. According to [Ob05] an ontology differs from existing methods and technologies in the following ways: (i) the primary goal of ontologies is to enable agreement on the meaning of specific vocabulary terms and to facilitate information integration across individual languages; (ii) ontologies are formalized in logic-based representation languages. Their semantics are thus specified in an unambiguous way; (iii) the representation languages come with executable calculi enabling querying and reasoning at run time. Application ontologies contain the definitions which are specific to a particular application [Gu96], while reference ontologies refer to ontological theories whose focus is to clarify the intended meaning of terms used in specific domains. Semantics: Unfortunately, the notion of the term semantics differs in the context it is used in and by the people using it. As the root of the problem, Harel and Rumpe [HR04] identify insufficient regard for the crucial distinction between syntax and true semantics. Thus, we clarify a few terms that have particular significance to this work. Syntax: Syntax N L is the notation of a language L. It is distinguished between the concrete syntax, the textual or graphical representation of the language, and an abstract syntax or meta-model being the machine s internal representation. A meta-model is a way to describe a language s syntax. Semantic: Semantic is the meaning of language which is expressed by relating the syntax to a semantic domain. The description of a semantic domain S can vary from plain English over logic specification to mathematics. The semantics is defined by a semantic mapping M: L S from the language s syntax to its semantic domain. Ontological: According to [ODM] an ontology defines the common terms and concepts (meaning) used to describe and represent an area of knowledge. Ontological stands for using the machine understandable semantics of the semantic web [BHL01]. Instead of semantic web enabled we use the term semantic-enabled as synonym in this work. The goal of the presented work is to combine the MDSD approach with ontological concepts through the use of ontologies in the development process, semantic-annotated models, semantic-enabled model transformations, attribution of meta-models, as well as semantic-enabled methodologies for customizing and document generation. After discussing shortcomings of today s software development in section 2, we present how semantic-enabled software engineering and development can solve the shortcomings in section 3. Section 4 describes a semantic-enabled IDE realizing the semantic-enabled software engineering and development approach. In our work we focus on build-time of a system, however, as we will show in the outlook, the run-time environment is also an area for further research. 2 Shortcomings of Today s Software Development Methodologies: Methodologies like the Rational Unified Process, Agile Development methodologies, and V-model XT are usually customized to the needs of an enterprise. Though specific guidelines for using the methodology and document templates are set up, these aspects are not covered in the necessary detail by current approaches.

Interoperability issues: Today, interoperability issues are mainly taken into consideration at run-time, but at build-time model-driven integration of systems is widely neglected. Particularly in the case of (inter)national mergers, problems arise. Search and composition of components: Nowadays, programmers and developers who want to (re)use COTS components and services have to either search for those components manually or perform lookups which are based on syntactical descriptions. The few solutions supporting developers in searching efficiently for such components in distributed environments operate essentially at code level. The lack of semantic rich descriptions of e.g. functionality and quality attributes, which can be used in the models throughout the development process, also prohibits from supporting developers by semiautomatic orchestration of components to value-added services. Composition of models: In composing models current approaches lack two dimensions, namely the automatic composition of models, e.g. in the context of aspect oriented modelling, and elaborated consistency checks to ensure unambiguousness of the merged models elements, i.e. checks on e.g. UML models which cannot be performed on the basis of languages like OCL. Though formal approaches exist, they are not sufficiently integrated in real-world development environments. Syntactic-based model transformations: Model transformations are specified on the basis of meta-models. Since their descriptions do not take into account meta-models semantics in a machineunderstandable way, there exist shortcomings in the reuse of model transformations and in adjusting model transformations to new versions of meta-models. Two worlds MDA and Semantic Web: Though approaches try to close the gap between the world of MDA and the world of Semantic Web technology, a first result based on the work of Cranefield [CP99] is now standardized by the OMG through the ODM standard, still software engineers nearly exclusively apply MDA based modelling, while knowledge engineers prefer technology based on logics like ontologies. 3 Semantic-enabled Software Engineering and Development With semantic-enabled Software Engineering and Development (sesed), we employ the technological spaces approach. We first give an overview of the technological spaces approach before showing how MDSD and UML can be extended with ontological concepts and describing how the identified shortcomings can be solved. 3.1 Technological Spaces Kurtev et al. [KBA02] introduce the concept of technological spaces (TS) aiming to improve efficiency of work by using the best possibilities of different technologies; examples are MDA TS, XML TS, Abstract Syntax TS, or Ontology TS. In the MDA TS models are considered as first-class citizens, representing particular views on the system being built. The Ontology TS can be considered as a subfield of knowledge engineering, mainly dealing with representation and reasoning. While the Ontology TS performs outstandingly in traceability, i.e. the specification of correspondences between various meta-models, the MDA TS is much more applicable to facilitate aspects or content separation. The application of ontological concepts has several advantages. It enables deduction through well-established reasoners, consistency checking, and validation of

the models, guidelines, etc. to facilitate automated software development, nonambiguousness through the formal definition of facts and rules, as well as using an increased expressivity of constraint languages. 3.2 A Semantic-enabled Approach towards UML UML is the standard for developing industrial software projects and a key in the MDA approach. For a selected set of UML diagrams, we show exemplarily how ontologies can be applied to add more semantics to UML diagrams. Class diagrams can be used for visualizing and developing domain and application specific ontologies in MDA TS-centric software development. By applying those ontologies to modelling during the requirement specification, errors or ambiguities can be found and retracted already in early phases of the development process automatically. Also, the integration of existing domain standards will be facilitated. During the analysis phase, use case diagrams are often applied for modelling. Actors are modelled by defining roles interacting with the system. The use of ontologies would add more semantics, especially in describing the interrelationships between the actors. One could also imagine annotating «includes»- and «extends»-relationships enabling an automatic checking. Moreover, requirements in the terms of non-functional properties like performance, modifiability, or security can be specified using ontologies. Ontologies representing domain or application data models can be used in various UML diagrams. In sequence diagrams, for example, parameters types and invariants could be defined, taking into consideration the data model of those ontologies. The new UML2 activity diagram is also applied to business process modelling. In [LB06] we have shown how IOPEs (input, output, pre-conditions and effects) of processes can be annotated with ontology concepts, facilitating the automated analysis and synthesis of business processes. Using Semantic Web s logics to fully describe the IOPEs can offer increased expressivity and reasoning capabilities. Composite structure diagrams can be combined with ontological API and functionality descriptions, like it is done in the Semantic Web Service area with OWL-S and WSDL-S. Integrating those semantic descriptions of components in models will allow automatic search and composition of components. The development environment will provide some kind of directory service supporting search for components during the specification of systems and matchmaking mechanisms for checking whether existing components can solve a certain problem. 3.3 Solving the Shortcomings Methodologies: A software methodology is typically characterized by a modelling language and a software process. In particular, the software process defines phases for process and project management as well as quality assurance. Each activity results in one or more deliverables such as specification documents, analysis models, code, testing reports, etc. serving as input for subsequent activities. Those processes can be described by models (see e.g. SPEM [SPEM]). Ontological annotations of meta-models can be used for automatic document generation during the development process. Modelling guidelines, realized as an attribution of meta-models by ontologies, for

customized methodologies can be enforced and checked, while help is given when modelling guidelines are violated. Interoperability issues: Interoperability at build-time will be achieved by model-driven integration of systems. Models can be exchanged between various enterprises despite of different modelling styles, and models semantics is specified by ontologies in a machine-understandable way. Enabling collaborative modelling amongst various enterprises will also facilitate semi-automatic composition of processes as described in 3.2. By using ontologies for describing meta-models and expressing interrelationships between meta-models, deduction on those ontologies can be used to compare meta-models and to automatically derive mappings from one metamodel to another. Even if the meta-models used in diverse systems are completely different, interoperability will be achieved much easier at ontological than at syntactical level. Search and composition of components: Semantic descriptions of e.g. COTS components or services will be stored in knowledge basis where ontological reasoning and matchmaking mechanisms can be applied. Similar to WSDL-S, API descriptions could enable automatic consistency checks on the components and services, whilst the model elements of such components are used in the system model. An ontological API description can also be used for automatic search of missing components during system development and offers the possibility for automatic composition of existing components and services through reasoning. Composition of models: Composition can be applied to models e.g. for merging models of sub-systems, composing different diagrams to interaction overview diagrams, or generating platform specific models out of platform independent and platform models. Ontologically annotated meta-models will extend capabilities of aspect oriented modelling approaches. Moreover, sophisticated consistency checks can be conducted when merging models. Syntactic meta-modelbased transformations: Taking into account meta-models semantics for model transformations as described in [RB05], it will be possible to automatically generate mappings between meta-models of different tools and enterprises. Despite different model representation formats and modelling styles, model transformations which are e.g. developed for a certain architectural style or methodology can be reused in and adjusted to various development scenarios. Two worlds MDA and ontologies: In order to close the gap between the world of MDA and the world of Semantic Web technology, ontologies have to be integrated into MDSD. As mentioned above, UML descriptions of components and services, for example, have to be extended to semantic descriptions at modelling level, as it is already done at code-level by WSDL-S. Knowledge engineers have to define their ontologies integrated to the development processes and vice versa, since ontologies are used in different development phases and components of software systems. 4 sesed How it works 4.1 Bridging the Gap As we have seen, it can be useful to combine MDA TS and Ontology TS visualization in one view. For example, in UML2, composite structure diagrams services offered by components could be described by ontologies, or in sequence diagrams the parameters

types of the operations could be ontology elements. Dependent on users skills and tasks, they have to perform only that TS space is shown to which the user is familiar with. In figure 1 we can see an overview of semantically extended modelling in a semanticenabled Integrated Development Environment (SemIDE). Besides of (meta-)models of the MDA TS, the SemIDE adopts ontologies of the Ontology TS for modelling, providing a more precise semantic description of both meta-models being used and models developed in the IDE. As a core concept of a SemIDE, representations of (meta- )models do not only exist in the MDA TS but also in the Ontology TS by the means of application ontologies. The abstract syntax of the model N A (e.g. MOF) and the abstract syntax of the application ontology N O (e.g. RDFS and OWL) are synchronized via socalled bridges. These bridges specify and maintain a mapping between the MDA TS and the Ontology TS. Thus, concrete syntax of both MDA TS and the Ontology TS, i.e. visualization of models and ontologies, can be easily combined and exchanged in the various views provided by the SemIDE. To obtain and ensure unambiguous semantics of (meta-)models (more exactly their representation in the Ontology TS) as well as to facilitate more sophisticated reasoning capabilities of the Ontology TS, application ontologies are bound to reference ontologies. For connecting the application ontologies to the reference ontology, the expressiveness of OWL can be used. MDA TS Ontology TS MM 1 1 ApplOnt 1 3 MM 2. MM n ApplOnt 2. ApplOnt n Binding 1 Binding 2 Binding n 5 Reference Ontologies M 1 2 ApplOnt n+1.. 4 Binding n+1 Binding n+m M m ApplOnt n+m Figure 1: Extended Modelling in SemIDE Ontologies concerning the meta-models are added to the SemIDE (see and in figure 1) before modelling starts. Application ontologies and bridges can be generated automatically by generic mechanisms using concepts described in [ODM]. If bindings cannot be reused, they have to be specified by hand. During modelling time application ontologies, bridges and bindings concerning the models are added to the SemIDE (see and in figure 1). Application ontologies and bridges can be generated automatically. If existing ontological descriptions shall be incorporated into models, models can also be generated automatically from application ontologies. The binding has to be specified by hand, though the developer could be supported by heuristics. Appropriate reference ontologies, which will be generally available, can be deployed before and during modelling time to the SemIDE.

Reminding the core capabilities of the technological spaces, traceability functionality like reasoning will be conducted in the Ontology TS, while modelling and model transformations, concerned with separation of concerns, will be done in the MDA TS. Methodologies realizing the idea of MDA, i.e. rising the level of abstraction, will be extended and supported by ontologies and sophisticated tools. 4.2 Architecture of semantic-enabled IDE The semantic-enabled IDE consists of an infrastructure and several Sem-X-Tools. Infrastructure provides basic functionality for a SemIDE. This comprises modelling tools for both MDA TS and Ontology TS as well as a model transformation engine. It has repositories for (meta-)models and ontologies and offers interfaces to access these repositories. The infrastructure realizes the bridge between models and application ontologies which we described in 4.1. The infrastructure provides a reasoning component which can be individually configured and used by Sem-X-Tools registered at the infrastructure. A methodology repository is also part of the infrastructure, though it has functionality that goes beyond the capabilities of the infrastructure: methodologies can make use of Sem-X-Tools; methodologies check which Sem-X-Tools are registered at the the SemIDE infrastructure and obtain the information to use those Sem-X-Tools. Semantic enabled IDE Sem-X-Tools Methodology Repository Model Manipulator 1 ModelRep. MM x M x 2 Sem-X-Component 3 register Ontologies ApplOnt x Ref.Ontology RuleSet 4 5 Reasoner Model Transformation Engine Modelling Tools SemIDE-Infrastructure Figure 2: Architecture of SemIDE Sem-X-Tools are built on top of the SemIDE infrastructure and their components. Sem- X-Tools support developers by providing additional sophisticated functionalities which are grounded on Semantic Web technology capabilities like machine-understandable semantics through formal logic description and reasoning. Sem-X-Tools, which have to be registered at the SemIDE infrastructure, consist of a model manipulator, a Sem-X- Component, and a rule set which are all specific for each Sem-X-Tool. The model manipulator reads, creates, modifies, and deletes models of the model repository. It delivers information about models to the Sem-X-Component and provides interfaces for model manipulation. The Sem-X-Component implements the core functionality of a Sem-X-Tool. It makes use of the reasoning results gained by inferring ontologies and

computes a queue of model adjustment operators. The queue of model adjustment operators is processed by calling the model manipulator s interface. Since Sem-X-Tools are based on different relationships between the ontologies elements, each Sem-X-Tool has its own set of reasoning rules. The reasoning rules are loaded into the reasoner and a reasoner instance is created for those rules. The Sem-X-Tool retrieves a reference to the reasoner instance via which the Sem-X-Component can start and access the reasoning. Two examples of Sem-X-Tools are the Sem-ModelTransformation-Tool based on the ontology-based model transformation approach [RB05] and the Sem-BPMSynthesis- Tool [LB06]. In the Sem-ModelTransformation-Tool the model manipulator provides operations to restructure models of model transformation. The Sem- ModelTransformation-Component computes how the model transformation has to be changed. Thereby, it makes use of the reasoning results gained by the help of the Sem- ModelTransformation-Tool s rule set. The Sem-BPMSynthesis-Tool s model manipulator provides an interface to create new UML2 activity diagrams. The Sem- BPMSynthesis-Component is an algorithm to compute sensible processes from available services, and it makes use of the reasoning result gained by applying the rule set of the Sem-BPMSynthesis-Tool. 5 Related Work and Outlook It has already been shown that Semantic Web technologies can successfully be applied at run-time. For example, Paolucci et al. [PS+05] have developed a broker for OWL-S Web Services. Oberle et al. presented the vision of a Semantic Middleware for Web Application Development in [OSE05] which aims to complement MDA with an ontology infrastructure enabling reasoning and querying at runtime. In this work we presented a vision of how to introduce Semantic Web technology in software engineering and development, i.e. in the model-driven software development process. Starting from shortcomings of currently used technology, we explained how introducing ontologies in modelling at build-time of software systems improves those shortcomings. Finally, we outlined how the gap between MDA and Ontology TS can be closed and how the architecture of a semantic-enabled IDE could look like. Up to now we had no deeper look at the run-time environment. Here we also see a potential coming from semantic-enabled software engineering and development. Moreover, as stated in the introduction, we see a high potential that ontological concepts as pointed out in this paper can improve the industrialization process of software development. References [BHL01] T. Berners-Lee, J. Hendler, O. Lassila: The Semantic Web, Scientific American, 2001.

[Bo02] S. Borgo et al.: OntologyRoadMap. WonderWeb Deliverable D15; http://wonderweb.semanticweb.org, 2002. [CP99] S. Cranefield, M. Purvis: UML as an Ontology Modelling Lanuage, Workshop on Intelligent Information Integration held during 16 th IJCAI, Stockholm, Sweden, 1999. [Fr03] D. S. Frankel: Model Driven Architecture Applying MDA to Enterprise Computing, Wiley, 2003. [Gu96] N. Guarino: Understanding, Building, and Using Ontologies. Proceedings of Tenth Knowledge Acquisition for Knowledge-Based Systems Workshop, 1996. [HR04] D. Harel, B. Rumpe: Meaningful Modeling: What s the Semantics of Semantics?, IEEE Computer, Volume 37, No. 10, pp. 64-72, IEEE, October 2004. [KBA02] I. Kurtev, J. Bézivin, M. Aksit: Technological Spaces: An Initial Appraisal, Int. Federated Conference (DOA, ODBASE, CoopIS), Industrial Track, Irvine, 2002. [LB06] F. Lautenbacher, B. Bauer: Semantic Reference and Business Process Modeling Enables an Automatic Synthesis, Workshop on Semantics for Business Process Management, Budva, Montenegro, 2006. [Ob05] D. Oberle: Semantic Management of Middleware, Springer, 2005. [OSE05] D. Oberle, S. Staab, A. Eberhart: Towards Semantic Middleware of Web Application Development, IEEE Distributed Systems Online, February 2005. [MDA] OMG: Model Driven Architecture, http://www.omg.org/mda/ [ODM] OMG: Ontology Definition Metamodel, ad/2005-08-01 [SPEM] OMG: Software Process Engineering Metamodel version 1.1, formal/2005-01-06 [PS+05] M. Paolucci, J. Soudry, N. Srinivasan, K. Sycara, A Broker for OWL-S Web Services, in Extending Web Services Technologies: the use of Multi-Agent Approaches, Kluwer, 2005 [RB05] S. Roser, B. Bauer: Ontology-based Model Transformation, Proceedings of Satellite Events at the MoDELS 2005 Conference, Montego Bay, Jamaica, October 2-7, 2005.