Using Metamodels in Service Interoperability - Software Engineering

4 downloads 9852 Views 320KB Size Report
ple of providing visualization services for the Bauhaus re-architecting tool. .... to new chances and challenges in software development. Instead of thinking of ...
Using Metamodels in Service Interoperability Andreas Winter

Jürgen Ebert

Institute for Software Technology University of Koblenz D-56070 Koblenz Universitätsstraÿe 1

www.uni-koblenz.de/~winter/ (winter|ebert)@uni-koblenz.de Abstract

focus on providing reasonable infrastructure for developing, integrating and using interoperable components

Interoperability in service oriented environments is heavily inuenced by the view that the cooperating services have on their data. Using the term service for the abstract contract concluded between a service requester and a service provider, three dierent data schemas have to be identied, namely the requester's schema, the provider's schema and the reference schema introduced by the service specication. Metamodeling and schema transformation approaches from the area of model driven architecture can be used to dene these schemas and their mappings as well as the appropriate transformations that have to be applied to the data. This paper explains an approach towards metamodelbased service interoperability along an extended example of providing visualization services for the Bauhaus re-architecting tool.

and presentation integration emphasizes similarity of user interfaces for these components. The direct interaction between interoperable components is addressed by data and control integration. Interacting components are usually based on especially

tailored data structures,

which allow the most

ecient execution of provided services. Thus, coupling those components requires to synchronize the data between participating software systems [29, 26]. This includes the direct data exchange by standardized data interchange languages as well as common access to (virtually) joined data repositories by appropriate interfaces.

Service Oriented Architecture

[8] is the current ab-

stract approach to build software systems formed by components

that

provide

certain

functionality

and

components that use this functionality. Theses components are

loosely coupled at runtime via network techservices sub-

nologies. In service oriented architectures

sume coherent functionality. They supply their func-

1

Motivation and Related Work

tionality by published interfaces encapsulating data and control information.

Interoperability is the challenge of enabling software

In service oriented architectures, data synchroniza-

tools from dierent suppliers to share their functional-

tion between collaborating services is viewed as an au-

ity. Coupling dierent, but interoperable tools allows

tomatic process at run time. Service interfaces act as

to form integrated collaborative tool suites without re-

contracts between service provider and requester.

inventing or re-implementing already existing software

isting systems usually have not been developed in a ser-

components.

vice oriented manner, but all more or less open systems

The issue of

tool integration

has already been ad-

Ex-

oer import and export facilities according to their own

dressed in the ECMA Reference Model [9], where data

internal data structures.

integration, control integration, presentation integra-

laborate, they also have to agree on common service

tion, process integration, and framework integration

contracts. Each reasonable service has to be identied

have been recognized as dierent and important as-

and the data required for providing the services has to

pects. Process integration and framework integration

be specied. To avoid coupling tools and components

1

For making those tools col-

Figure 1: Decomposition View in Bauhaus based on ad-hoc data structures and converters, a more

lating annotated text based grammars, the approach

general specication of the service and its interfaces is

presented here is oriented towards reference modeling

required.

in a model driven environment.

metamodels as medi-

An ontology based approach towards tool interop-

ators to synchronize data between interoperable tools.

erability is presented in [15]. This approach provides

Metamodels are used to dene data shared between

a general infrastructure to relate concepts of collabo-

collaborating tools and found the base for transform-

rating tools. The use of metamodels in service inter-

ing data between tool specic structures. Making these

operability, presented here, completes this approach by

metamodels explicit and providing appropriate lters

showing how to realize data mappings.

This paper focuses on the use of

Service Interoperability

to convert data matching the metamodel to the individually used data structures of service providing tools, enables existing tools to be embedded in service oriented architectures.

refers to sharing data and

control between interacting services. Web services [3] form the most widespread infrastructure to enable com-

Furthermore, these metamodels

ponents to collaborate dynamically. XML-based nota-

serve as data structures for implementing new services.

tions provide mechanisms to dene standardized data

A similar approach, based on grammars, is pre-

exchange notations. The approach on using meta mod-

sented in [13]. Grammars specify document structures

eling technologies to enable service interoperability on

of interoperable tools. Pattern based association gram-

data level is independent from the technological space

mars act as an intermediary to synchronize these struc-

used for service interaction. Thus, the approach is pre-

tures.

That paper also addresses a standardized way

sented in terminology of web services and XML, but it

to share individually structured data by intermediate

should also hold for other middleware frameworks like

structures.

CORBA [23].

While their approach originates in corre-

2

Example: Visualizing Software-Architecture

According to [28]

In the following, service interoperability of software

re-engineering tools is used as an example. Bauhaus re-architecting tool

nents.

compo-

They provide all information required to use

the functions they describe.

[7, 10]

extracts a (possible) software architecture.

are viewed as abstract

faces that are realized by concrete software

Starting from the source code of a legacy software system, the

services

descriptions of coherent functions with public inter-

The functionality specied by services usually con-

The

operations. Each operation is specied by signature dening input and output data. Interact-

tains a set of

decomposition view [5] of software architectures

its

shows its structure in terms of components and

ing with services also requires to agree on the data used

subcomponents. The decomposition of an object

by the service to perform its functionality.

oriented software system into packages, classes, at-

E.g. web

service descriptions (cf. the abstract part of WSDL [2])

tributes, and methods using the Bauhaus built-in

contain

visualization is presented in Figure 1.

types describing data structures that are shared

between interacting services and operations together

The decomposition view of the server subsystem

with their signature to access the service's functional-

of the Kobold system for visualizing and main-

ity.

taining product lines [16] contains two classes (SecureKoboldWebServer,

SessionManager)

From a more general perspective,

service requesters

and

have to supply the input data and receive the output

four subpackages (Messaging, RuleEngine, Pro-

data in specic forms specied by the service denition.

ductManager, UserManager)

which are subdivided

Its data structure is specied by a

reference schema,

into further packages and/or classes depicted as

which is a common metamodel of the shared data. The

nested boxes. Each class is composed of members

service user has to provide these data and the service

and methods, presented by dierently colored di-

implementation has to ensure its use.

amonds.

2.2

The following sections of this paper will show, how the introduction of

metamodel-driven service in-

teroperability supports visualizing this architecture

Services form

by means of UML class-diagrams using IBM Ra-

by

components

which

in web services. There may be

2

plement the web service description by implementation

services and components and

dress information. Service providers realize the service

tool, as a visualization service.

details like bindings, communication protocols, or adinterface with all its specied operations and reference

their major elements, which provide the base for ser-

schemas.

vice interoperability. The metamodel-based approach

Internal data structures of components, also spec-

on service-interoperability is explained in section 3 us-

ied by

ing the example just introduced.

have to comply with the structure

on the implementation of the provided operations, different service providers may use dierent internal implementations of specialized data structures optimized

The shift from developing large monolithic systems

for ecient calculation.

towards service oriented architectures, including the

Here, service reference schemas are viewed as an

tology

potential of web service-based implementations, leads to new chances and challenges in software development. Instead of thinking of coupling

schemas,

dened by the service's reference schema. Depending

Services and Components

on-

which species a shared conceptualization be-

tween the service and its components [11].

concrete software com-

serves as data part of the

ponents, interoperability is viewed as providing and using abstract services. 2.1

implemented

service. Appropriate descriptions of components com-

short), a commercial of-the-shelf UML modeling

2

are

service providers

several alternative components implementing the same

tional Software Modeler [25] (Software Modeler for

Section 2 will introduce

Components

contract

It also

between the ser-

vice requester, who has to deliver data according to the reference schemas, and the service provider, who implements the service according to this schema.

Services

Example: Visualizing Software-Architecture

Services form the interface to access functionality

In the re-architecting example, the Bauhaus tool

provided by certain implementations. They hide imple-

represents software architectures in resource ow

mentation details enabling service invocation regard-

graphs [7, 10], and Software Modeler uses a vari-

less of specic hard- and software environments [19].

ant of the UML 2 superstructure metamodel [24].

3

Figure 2: Metamodel-driven approach to Service Interoperability

Metamodeling

Here, Bauhaus supplies the re-architecting service

metamodel based transformation

provide such mechanisms.

the visualization service.

structure of data to be exchanged.

Metamodels dene the The reference

schema, dening the services data, and the schemas

To make Bauhaus and Software Modeler interop-

used by the service requester and the service provider

erable, these structures have to be synchronized

oer the formal base to assign metamodel based trans-

according to the requirements of the service de-

formations. Figure 2 sketches this approach.

nition.

Data exchange in service oriented environments fol-

2 3

and

and the Software Modeler delivers (among others)

lows a stepwise approach:

Metamodel-based Service Interoper-

1.

ability

Dene schemas (a) Dene reference schemas

Interoperability requires a

The reference schemas of the service serve as

contract

between collab-

domain ontologies reecting the shared con-

orating partners on the operations supplied by the

cepts among the collaborating components.

provider and on the data structures shared between the

They are mediators between interoperable

collaborators. This contract contains a

partners.

specication of service and a set of

the functionality dened by the reference schemas dening the data to be shared. Service

implementations

usually

employ

(b) Dene service requester and service provider schemas

internal

Collaborating partners work on their individ-

data structures, that are optimized towards eciency.

ual own data structures. These have to made

Hence, collaborating components mostly do not use

explicit [14] to form the base of data export

identical data structures and synchronization of data is required.

and import.

The following sections show how data

synchronization is realized by using the service refer-

2.

Specify data transformations

ence schema as a shared conceptualization and schema

Data according to the participating schemas have

transformation as ltering support.

to be mapped to each other. Mappings from the service requester's data via the reference schema

3.1

Metamodel based approach to synchronize data

to the service provider's data have to be specied. These mappings express a common understanding of the semantics of the participating schemas.

Interoperable agents have to agree upon exchanged data.

Concepts and structures of dierent schemas den-

Common reference schemas supply means to ac-

ing the same content have to be related.

commodate client data to the data required by service provider, and vice versa. Service interoperability necessitates powerful and adaptable mechanisms to

transform, and synchronize such data.

Here,

dierent terminology and modeling style has to be normalized according to the services reference

dene,

schema.

4

3.

Share data

Together with the signatures of the provided opera-

Data provided by the service requester has to be

tions the reference schema in Figure 3 denes a contract

available to the service provider and data calcu-

each service provider for visualizing software architec-

lated by the service provider has to be available to

tures according to the decomposition view has to fulll.

the requester.

A requester calling that service, can be certain, that the data is rendered correctly by a service conformant

Sharing this data can be done either by encap-

provider.

sulating the synchronization within functional interfaces or by physically exchanging the data by a standard exchange form, which conforms to the reference schemas. Since dierent services use different reference schemas, data has to be exchanged together with its corresponding schema information. The dened schemas establish a base for both,

transformation

and

data exchange.

data

Section 3.2 shows

the schemas involved in realizing a software architecture visualization service, with Bauhaus and Software Modeler as collaborating components.

3.2

Example: Visualizing Software-Architectures

Using a COTS-UML tool for visualizing softwarearchitectures recovered by Bauhaus requires to make Bauhaus data accessable to the UML tool.

Figure 4: Bauhaus Schema

The re-

quired synchronization is done here according to a specic architectural view (e. g. [5]).

Using services requires to map the data used by the

Architectural views

service requester to the reference schema.

serve as reference schemas for services visualizing certain aspects of software architecture [30].

The data

structure used by the Bauhaus re-architecting tool is

A refer-

shown in Figure 4 [7, 10].

Packages

declare classes

decomposition view and

and interfaces. Both consist of members and methods.

the appropriate variants in the collaborating tools are

Bauhaus also represents further relationships between

sketched in Section 3.2.1.

Schema based transforma-

components of software architectures which are not

tion and data exchange is described in Section 3.2.2

considered by our decomposition view visualization ser-

and 3.2.3.

vice.

ence schema for representing a

3.2.1 Dene Schemas A service for visualizing the decomposition view of object oriented software architectures requires to agree on the data to be displayed. Figure 3 denes a possible decomposition of object oriented software systems. packages

Packages

contain further

and/or classes. Classes contain methods and

attributes.

Figure 5: UML Metaschema (extract)

Modern UML tools usually found on the UML 2 superstructure metamodel [24]. Figure 5 shows an ex-

Figure 3: Reference Schema

tract of the UML metamodel representing the relevant

5

Bauhaus Schema

Reference Schema

UML Metaschema

p,q : Package

p,q : Package

p,q : Package

c : Class

c : Class

c : Class

a : Member

a : Attribute

a : Property

m : Method

m : Method

m : Operation

←declared_in q p ←declared_in c ∗ c → inherits ←enclosing a ∗ c → inherits ←enclosing m

→contains q p →contains c c →hasAsAttribute a c →hasAsM ethod m

3q 3c p.ownedAttribute 3 a p.ownedOperation 3 m

p

p

p.ownedMember

p.ownedMember

Figure 6: Mapping between corresponding concepts and relations

concepts for visualizing the decomposition view. Here contain properties and operations.

classes

models. Those transformations are specied in terms of

Packages

mappings

between the corresponding metamodels.

and classes are subsumed to Packageable Elements

Various metamodel based approaches to model trans-

which can be substructured into further packages and

formation are currently under development to enable

classes.

specication and execution of metamodel based trans-

Software Modeler provides import facilities for

data according to this schema, based on XMI [20].

formations [21]. The

Apparently, all three schemas are capable to de-

schema

scribe the decomposition of a software system into

correspondence

UML schema

Bauhaus schema

the

reference

Bauhaus schema

between

The mappings dene the the

participating

concepts

The Bauhaus schema, the reference schema, and the UML metaschema follow dierent modeling styles.

supports all other UML no-

Associations are oriented and named in the Bauhaus

tations. The

between the

and their relationships.

also supports inheritance and call relationships and the (complete)

4),

are sketched in Figure 6.

The

internal schemas of the collaborators are allowed to represent further data. So, e. g. the

mappings

(cf. Figure

(cf. Figure 3), and the UML metaschema (cf. Figure 5)

packages, classes, attributes, and methods. But, they use dierent terminology and modeling styles.

required

reference schema serves as a mediator normal-

schema and in the reference schema, whereas the UML metaschema uses a more implementation oriented ap-

izing these structures. It constitutes a consistent ter-

proach, utilizing role dened associations.

minology and denes a common conceptualization re-

The map-

ping in Figure 6 considers these dierent modeling

quired for sharing re-architecting and visualization fa-

styles by notating the constraints for the Bauhaus and

cilities between the collaborators.

the reference schema using regular path expressions and stating the constraints for the UML metaschema

3.2.2 Specify Data Transformations

in OCL predicates. Interoperation

To enable sharing data between collaborating tools,

scenarios

with

very

diverse

the data exported by the service requester has to be

metaschemas might require much more complicated

adapted to the specic import format required by the

constraints specifying the mapping.

selected service provider and vice versa.

The com-

A general and widely applicable reference schema for

mon conceptualization of both tools is specied in

visualizing decomposition structures should also sup-

the service reference schema.

port generalization of classes. Generalization is ignored

tions two

transformations

Thus, in both direc-

are required:

one trans-

in Figure 3 to present an example for a precision loos-

forms the requester's data to data according to the

ing model transformation. Generalization of classes in

reference schema,

the second transformation trans-

an architecture recovered by Bauhaus has thus to be

lates data according to the reference schema into the

attened into a structure according to the reference

provider's notation. If data has to be returned to the

schema. To preserve as much semantics as possible dur-

requester, proper inverse transformations are needed,

ing transformation, attributes and methods of super-

which might be realized in a similar way.

Model transformations

classes are directly associated to

all subclasses.

Thus,

are a core constituent of

the transformed architecture, visualized according to

model-driven architectures [22]. Model transformation

the UML schema does not contain the generalization

is viewed as the process of converting models into other

information, though the UML 2 superstructure meta-

6

Figure 7: Decomposition View visualized with Software Modeler

model [24] also supports generalization and Software

metamodel-based transformation might be BOTL [4],

Modeler is capable of visualizing these structures.

MDI [17], or ATL [1].

This demonstrates the importance of dening a preferably universal schema for services.

But, since

3.2.3 Share Data

nobody can anticipate all features or modeling styles used in existing or future services implementations, it is impossible to dene these general schemas.

GXL (Graph eXchange Language) [12] is an XML-

Thus,

based standard exchange format for sharing graph data

coupling services has always to be aware of loosing precision.

Loss of precision is discussed e. g. in [6].

between tools. GXL comes with a metamodeling ap-

But,

proach, such that graph-based data can be exchanged

dening and comparing reference schemas and tool spe-

together with its corresponding schema information.

cic schemas allows to make the loss of information

In contrast to other XML-based metamodeling ap-

within the collaboration of concrete tools explicit.

proaches, GXL is homogeneously graph-based on all meta-levels, leading to one single and simple notation

The transformations described here were imple-

for instance data, schemas and metaschemas.

mented in a case study [30] by XSLT scripts, since

In the example, the Bauhaus schema as well as the

Bauhaus and Software Modeler provide XML based XSLT works rather in-

reference schema were dened by GXL schemas, i. e.

eciently on huge amounts of data, which occur in in-

they could be exchanged as graphs corresponding to

teroperable reengineering environments. Furthermore,

the GXL metaschema.

metamodels and their mappings do not inuence the

Bauhaus data and the reference schema was directly

XSLT transformation explicitly. Only the source model

done by exchanging and transferring GXL documents.

import and export facilities.

appears in patterns, the target model is only implicit. Thus,

more

ecient

powerful

Since Software Modeler only supports XMI, a sepa-

declarative

rate lter was written. Data according to the reference

metamodel-driven approaches are needed for model

schema were transformed into the XMI imported by

transformation.

the Software Modeler.

More

and

Thus, the mapping between

promissing

approaches

for

7

Figure 7 shows the resulting UML visualization of

the

decomposition

view

the running example.

from

Figure

1

well as the realization and use of new service imple-

from

mentations.

The UML class diagramm

The presented approach is independent of concrete

shows the server subsystem of Kobold with its two

realization strategies and technologies.

classes

plied to requests to web services as well as to using

and

(SecureKoboldWebServer,

four

substructured

SessionManager)

subpackages

(Messaging,

RuleEngine,ProductManager, UserManager).

It can be ap-

encapsulated functionality of monolithic components

Member

oering export and import facilities. Similarly, the ap-

variables and methods of classes are depicted in the

plied meta modeling approach is not restricted to GXL

usual class compartments.

only.

But, it becomes important to adopt powerful

metamodel based transformation techniques. 4

Conclusion

Visualizing a recovered software architecture and presenting the results in an UML tool was done with

This paper introduced the use of

nology for service interoperability.

metamodeling tech-

monolithic tools oering export and import facilities and some additional scripts. In the

Interoperability be-

case study coupling

tween service provider and service requester is viewed

of the functionality of two commercial, monolithic of-

as fullling a contract dened by the service. Instead

the-shelf tools was not yet implemented in a strong ser-

of coupling concrete software components individually,

vice oriented architecture. But, both tools oer export

service interoperability views tool integration on an abstract level. Services specify the oered functionality and a set of reference schemas. Collaborating partners

and import facilities. Bauhaus exports software architectures as GXL graphs and Software Modeler imports XMI streams. The GXL graph generated by Bauhaus was transferred into an GXL graph matching the ref-

have to agree on this service specication. Within this framework, sharing data among collab-

erence schema. This graph was transferred by another

orators plays an important role. Due to dierent inter-

transformator into an XMI. The transformators were

nal data structures, transformations between interact-

realized by XSLT and were based on various reference

ing tools are required. Data exchange and the transfor-

schemas of the software architecture visualization ser-

mations are realized according to the explicit schemas

vices and the published metamodels of Bauhaus and

used by the tools and to the reference schema of the

Software Modeler. The

services which dene a common conceptualization.

current

implementation

provides

reference

schemas and tranformators for the decomposition view,

Coupling (already existing) tools by providing and using certain functionality in a service oriented setting,

the specialization view,

requires to dene the services schema by a

view, and module view. Based on the specication of

schema.

reference

uses view,

implementation

To provide a wide spectrum of possible im-

visualization services the Bauhaus re-architecting tool

plementations the reference schema denition should

was successfully applied to use Sofware Modeler to ren-

be done according to the general needs of the intended

der software architectures.Further activities deal with

service and independently of probably existing imple-

applying model driven transformation approaches for

mentations.

more elegant and (hopefully) more performant transformation.

Realizing this service by new components can be done directly on this structure. Using already existing

Currently approaches on migrating systems towards

tools or components requires to discover the individual

service oriented architectures (e. g. [18]) are being de-

schema of the service provider. Theses schemas usually

veloped. Enabling data interoperability between com-

dier from the reference schema, and transformators

municating components is a prerequisite to service in-

have to be provided for data exchange. Using this ser-

teroperability. The discovery of services in legacy sys-

vice, requires to provide data according to the reference

tems, their denition with reference schemas and sup-

schema. Again, transformators are needed for mapping

plying appropriate tranformators will also provide a

the service requesters data to the reference schema.

generic means to service oriented interoperability of

These transformators are based on schema transfor-

legacy systems.

mation between the requesters individual schema and the reference schema. Standardizing the services interface by a reference schema, dening the individual data structures of re-

Acknowledgments:

quester and provider, and dening schema based trans-

from various discussions with our students. We thank

formations facilitates the coupling of already existing

Kerstin Falkowski, Alexander Kaczmarek, and Julia

software systems in a service oriented environment as

Wol for their collaboration, insights and suggestions.

8

This

proposal

has

beneted

References

[11] W. Hesse.

Informatik Spektrum,

Ontologie(n).

16(6):477480, Dezember 2002. [1] ATL:

Atlas

Transformation

Language,

User

[12] R. C. Holt, A. Schürr, S. Elliott Sim, and A. Win-

http://dev.eclipse.org/viewcvs/ indextech.cgi/gmt-home/subprojects/ATL/ doc/ATL_User_Manual%5Bv00.09%5D.pdf, AuManual.

ter.

GXL: A Graph-Based Standard Exchange

Science of Computer Programming, 60(2):149170, April 2006. Format for Reengineering.

gust 2005.

[13] I. Ivkovic and K. Kontogiannis. [2] Web Services Description Language (WSDL) Version 2.0 Part 0:

Primer.

W3C Working Draft,

through Grammar-Based Model Synchronization.

http://www.w3.org/TR/wsdl20-primer/ wsdl20-primer.pdf, 3. August 2005.

Y. Zou, M. di Penta: Pre-Proceedings IEEE International Worhshop on Software Technology and Engineering Practice (STEP 2005), pages 244

W3C,

In

[3] G. Alonso, F. Casati, H. Kuno, and V. Machiraju.

247. 2005.

Web Services, Concepts, Architectures and Applications. Springer, Berlin, 2004.

[14] D. Jin, J. R. Cordy, and T. R. Dean. the Schema?

ware Exchange.

Electronic Notes in

Theoretical Computer Science, 72(3):115, 2003.

pages 6574. 2002.

[5] P. Clements, F. Bachmann, L. Bass, D. Garlan,

[15] D. Jin and J. R. Cordy.

Documenting Software Architectures, Views and Beyond. Addison Wesley, Boston, 2003. J. Ivers, R. Little, R. Nord, and J. Staord.

Tools. Proceedings of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2003), Workshop on Tool Integra-

in an Ontology-Based Reverse Engineering Tool

tion in System Development (TIS 2003), 7378,

J.-M. Favre, M. Godfrey, A. Winter (eds.): Integrating Reverse Engineering and Model Driven Engineering, 2nd International Workshop on Meta-Models and Schemas for Reverse Engineering. Electronic Notes in Theoretical Computer Science, 137(3):6575, September 2005. Integration System.

Czeranski,

T.

Eisenbarth,

H.

A Service Sharing Ap-

proach to Integrating Program Comprehension

[6] J. R. Cordy and D. Jin. Factbase Filtering Issues

[7] J.

Where's

A Taxonomy of Patterns for Soft-

In 10th International Workshop on Program comprehension. IEEE, Los Alamitos,

[4] P. Braun and F. Marschall. Transforming Object Oriented Models with BOTL.

Interoperabil-

ity and Integration of Enterprise Applications

September 2003. [16] Werkbold Team, University of Stuttgart: Kobold Productline-Manager.

de/index.html. [17] A.

Koenigs

Domain

Kienle,

and

http://kobold.berlios.

A.

Integration

Schuerr.

with

MOF

Multiand

ex-

Using the Bauhaus Tool.

In 7th Working Conference on Reverse Engineering. IEEE Computer

http: //drops.dagstuhl.de/opus/volltexte/2005/ 22/pdf/04101.KoenigsAlexander1.Paper.pdf.

Society, Los Alamitos, pages 197199. 2000.

In J. Bezivin and R. Heckel (eds.)

R.

Koschke,

and

D.

Simon.

Analyzing

tended

xg

Triple

Graph

Grammars,

Language Engineering for Model-Driven Software Development,

[8] W. Dostal, M. Jeckle, I. Melzer, and B. Zen-

Dagstuhl

Service-orientierte Architekturen mit Web Services, Konzepte, Standards, Praxis. Elsevier, gler.

tionales

Seminar

Proceedings

Begegnungs-

und

04101.

Interna-

Forschungszentrum

(IBFI), Schloss Dagstuhl, Germany, 2005.

München, 2005. [18] K. [9] ECMA.

Reference

Model

for

Frameworks

of

Kontogiannis

and

Y.

Zou.

Reengineering

Legacy Systems Towards Web Environments. In

K. M. Khan, Y. Zheng (eds.): Managing Corporate Information Systems Evolution and Maintenance, Idea Group Publishing, Hershey, PA, USA,

Software Engineering Environments, Version 2.6. Technical Report ECMA TR/55, European Computer Manufacturers Association, National Institute of Standards and Technology, US Department

pages 138146. 2004.

of Commerce, 1993.

[19] H. Kreger.

Web Services, Conceptual Architec-

http://www-306.ibm.com/ software/solutions/webservices/pdf/WSCA. pdf, IBM Software Group, May 2001.

[10] Thomas Eisenbarth, R. Koschke, and S. Bellon.

ture (WSCA 1.0).

Bauhaus Software Technologies, Language Guide 5.1.4. Documentation, 28. April 2005.

9

[20] OMG

XML

Metadata

Interchange

(XMI)

http://www.w3.org/TR/2000/ REC-xml-20001006.pdf, January 2002. Specication.

[21] Request

for

Proposal:

MOF

Query/Views/Transformations

RFP.

//www.omg.org/docs/ad/02-04-10.pdf,

2.0

http: Octo-

ber 2002. [22] MDA Guide.

03-06-01.pdf,

http://www.omg.org/docs/omg/ June 2003.

[23] Common Object Request Broker Architecture:

http://www.omg.org/docs/ formal/04-03-01.pdf, March 2004. Core Specication.

[24] UML 2.0 Superstructure Specication.

www.omg.org/docs/ptc/04-10-02.pdf,

http:// October

2004. [25] IBM

Rational

Software

Modeler.

//www-306.ibm.com/software/awdtools/ modeler/swmodeler/.

[26] S. E. Sim.

http:

Next Generation Data Interchange,

Tool-to-Tool Application Program Interfaces.

In

7th Working Conference on Reverse Engineering. IEEE Computer Society, Los Alamitos, pages 278 280. 2000. [27] Extensible Markup Language (XML) 1.0 (Third Edition).

W3C Recommendation,

W3C XML

http://www.w3.org/TR/2004/ REC-xml-20040204, February 2004. Working Group,

[28] Web

Services

Group Note,

Architecture.

W3C

Working

W3C Web Services Architecture

http://www.w3.org/TR/2004/ NOTE-ws-arch-20040211/wsa.pdf, 11 February Working Group 2004. [29] P. Wegner. Interoperability.

vey, 28(1):285287, 1996.

[30] J.

Wol

and

A.

ACM Computing Sur-

Winter.

Blickwinkelgesteu-

erte Transformation von Bauhaus-Graphen nach UML.

Softwaretechnik-Trends,

25(2):3334, May

2005.

10