<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Transformation from Requirements to Design for Service Oriented Information Systems 1</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Lina</forename><surname>Ceponiene</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Kaunas University of Technology</orgName>
								<address>
									<addrLine>Studentu 50-308</addrLine>
									<postCode>LT, 51368</postCode>
									<settlement>Kaunas</settlement>
									<country key="LT">Lithuania</country>
								</address>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Lina</forename><surname>Nemuraite</surname></persName>
							<email>lina.nemuraite@ktu.lt</email>
							<affiliation key="aff0">
								<orgName type="institution">Kaunas University of Technology</orgName>
								<address>
									<addrLine>Studentu 50-308</addrLine>
									<postCode>LT, 51368</postCode>
									<settlement>Kaunas</settlement>
									<country key="LT">Lithuania</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Transformation from Requirements to Design for Service Oriented Information Systems 1</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">B2B13983FA780BFDE4B4B93F38D4535B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T11:15+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Service-Oriented Architecture (SOA) and Web services are becoming the universally accepted architectural style for development of modern information systems of enterprises. But the methods of design in SOA are not well established yet. The most of current methodologies are focused on composition of business processes from services. In this work, SOA based design is considered as design of information system where modelling of services and processes composed of services is related to modelling of entities comprising service execution context. It is demonstrated, that various forms of UML 2.0 interactions and state machines fit well for representation of SOA related concepts -services, protocols, choreography, orchestrations, and transactions. The proposed design method consists of two steps -making comprehensive specification of requirements and transforming it to design using State Coordinator pattern that enables loose coupling of stateless services into system operating on the base of information about states of entities.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Service-Oriented Architecture (SOA) and Web services <ref type="bibr" target="#b22">[22,</ref><ref type="bibr" target="#b27">27]</ref> are becoming the universally accepted architectural style for development of information systems of enterprises. As foremost Web services have arisen as technological challenge in late 1999, methods of design of service-oriented systems are not well established up till now. Existing modelling approaches such as Object-Oriented Analysis and Design (OOAD), Software Component Based Design (CBD), Enterprise Architecture (EA) frameworks, and Business Process Modelling (BPM) have provided high-quality practices for development of enterprise information systems. But for development of service oriented systems, as stated in <ref type="bibr" target="#b31">[31]</ref>, more advanced techniques are required.</p><p>What are features of service orientation that do not fit to familiar methodologies? A service is an operation offered as an interface that stands alone in the model, without encapsulating state, as entities and value objects <ref type="bibr" target="#b15">[15]</ref>. Though concepts of services have arisen from technical frameworks, in service-oriented design definition of service must be originated from business domain, not from technology. Unlike enti-ties, service is described in terms of what it can do for a client; it has interface, specifying set of operations, and makes contract with its client, so defining responsibilities to fulfil this interface.</p><p>The exclusive feature of service-oriented design is the separation between behavioural objects, i.e. services, and persistent entities (information objects), in contrast with object oriented design. A good service design has three characteristics <ref type="bibr" target="#b15">[15]</ref>: its operations correspond to domain concepts that are not the natural parts of entities or value objects; the interface is defined in terms of other elements of the domain model; the operations are stateless. Statelessness of service means that it is independent of context, and any client can use any instance of a particular service without regard to the history of this instance. The execution of a service uses external information, and may change that information. But the service does not hold the state of its own that affects its own behaviour, unlikely the most domain objects.</p><p>In reality, the use of services is dependent on rules of business processes in hand. These rules are often expressed in terms of states of information entities comprising service execution context. In this work, design of information systems embracing services of business domain is considered, and the State Coordinator pattern is proposed for loose connection of stateless services into system that operates on the base of information about persisted states of entities. SOA based design is considered as design of information system where modelling of services and processes composed of services is related with modelling of entities comprising context. This differs from majority of proposed techniques, where emphasis is made on modelling of business processes but information modelling is limited to definition of types of messages and variables <ref type="bibr" target="#b0">[1]</ref>, textual notes <ref type="bibr" target="#b8">[8]</ref>, or not considered at all.</p><p>The proposed design method consists of two steps -making comprehensive specification of requirements (Design Independent Model (DIM) <ref type="bibr" target="#b10">[10,</ref><ref type="bibr" target="#b11">11]</ref>), and transforming requirements to design -Platform Independent Model (PIM) in MDA terminology <ref type="bibr" target="#b18">[18]</ref>. It is demonstrated, that various forms of UML 2.0 <ref type="bibr" target="#b25">[25]</ref> interactions and state machines fit well for representation of SOA related concepts -services, protocols, choreography, orchestration, and transactions. Secondly, it is shown that DIM specification (using OCL <ref type="bibr" target="#b26">[26,</ref><ref type="bibr" target="#b28">28]</ref> and principles of contract-based design <ref type="bibr" target="#b12">[12]</ref>) makes it possible to formalize transformation from requirements to design.</p><p>The paper is structured as follows: in Section 2 service concepts and related work is characterized. In Section 3 the principles of requirements specification for serviceoriented design are presented and illustrated with the example. In Section 4 service design pattern is proposed. In Section 5 transformation from requirements to design is described. Finally, Section 6 makes conclusion and reasoning about future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Service Concepts and Related Work</head><p>Related approaches for modelling in SOA are associated with Business Process Modelling Languages BPML <ref type="bibr" target="#b1">[2]</ref>, BPMN <ref type="bibr" target="#b8">[8]</ref>, BPEL <ref type="bibr" target="#b0">[1]</ref>, WSCI <ref type="bibr" target="#b2">[3]</ref>, WS-CDL <ref type="bibr" target="#b17">[17]</ref>; standards for Business Transactions <ref type="bibr" target="#b9">[9]</ref>, Unified Modelling Methodology (UMM) <ref type="bibr" target="#b24">[24]</ref> and ebXML <ref type="bibr" target="#b14">[14]</ref>; the most popular implementation language is BPEL, or BPEL4WS; relationships of these languages to Web Services Description Language (WSDL) <ref type="bibr" target="#b29">[29]</ref> as well as generation of WSDL specifications from designs of services are well established.</p><p>Design of services deals with three levels of abstraction: operations, services (groupings of operations) and business processes. Operations represent atomic business transactions (logical units of work). Execution of an operation usually causes one or more persistent data records to be read, written, or modified, and additional operations may be invoked. Service corresponds to class concept. For design of operations of the service, object (e. a. <ref type="bibr" target="#b19">[19]</ref>) or component-oriented (e. a. <ref type="bibr" target="#b12">[12]</ref>) methods are suitable, with the particularity, that services are pure behavioural concepts.</p><p>Business processes represent long running flows of actions and activities performed in order to respond to business events, and to achieve business goals. Business processes require multiple invocations of business internal services and services rendered by external business systems. The rules of sequencing of message exchange patterns of business-to-business collaborations across business process are termed as process choreography. Besides choreography concept that is used for definition of business-to-business processes, the concept of orchestration is essential for modelling of internal business processes serving for execution of interactions that particular process can manage. Concepts of choreography, orchestration and multiparty business transactions are extensively used in Web services literature; the intelligible clarification of terms may be found at EBPML Web site (e.g. <ref type="bibr" target="#b13">[13,</ref><ref type="bibr" target="#b22">22]</ref>).</p><p>The goal of service-oriented design is systematic construction of operations, services, and organised sets of services. Many works are devoted to development of business processes, composed of services; composition rules and phases <ref type="bibr" target="#b30">[30]</ref>; emerging W3 Consortium and OASIS standards are concerned with choreography, orchestration, transaction, context and coordination frameworks. In current business process modelling languages, devoted for composition of services, design of business processes is not integrated with design of services themselves. Similarly, object-oriented and component-based methods, suitable for design of operations and services, are lacking of service composition potential. In UMM, design of services is linked with design of global business processes (choreographies), but orchestration is not considered and services are not integrated with entities of domain model; so this methodology is also insufficient for end-to-end development of service systems.</p><p>In this work, system of services is constructed, rather than single business process, and development process is considered going from requirements to code. Specification of choreographies and orchestrations of business processes is based on UML 2.0 interactions and, specifically, interaction overview diagram that represents fruitful combination of activity and sequence diagrams whereas established methods are based on activity diagram-like representations or using activity and sequence diagrams alternately.</p><p>For execution of services, transition systems semantics and state machines mechanisms are universally accepted (e.g. <ref type="bibr" target="#b5">[5,</ref><ref type="bibr" target="#b7">7,</ref><ref type="bibr" target="#b4">4]</ref>), where states usually represent persistent states observable in business domain. In our work, both persistent states and behavioural states (performing actions or waiting for events) are taken into account, and state machines of services are interrelated with state machines of entities. During execution, system operates as composite state machine, where transitions are fired by external events (received messages about requests of services) and restricted by per-sisted states of entities. Transition rules coincident with service usage contracts are separated from services; they may be implemented using rule checking operations or stored in rule base, so design may be flexible to possible changes in business domain.</p><p>The proposed transformation is based on State Coordinator pattern that is somewhat similar to combination of classical Façade and State patterns <ref type="bibr" target="#b16">[16]</ref>. State Coordinator serves as front end for receiving service request messages (as Facade), and makes choice of operation for execution subject to context (as State). Additionally, it takes into consideration interactions between services. For SOA design, many of classical patterns are reused <ref type="bibr" target="#b16">[16]</ref>, and service-specific patterns are proposed <ref type="bibr" target="#b5">[5,</ref><ref type="bibr" target="#b23">23,</ref><ref type="bibr" target="#b25">25]</ref>, but service composition mostly is based on Business Process Modelling Languages. State Coordinator may be a simple variation of Business Process execution engine that may be used for customary development as much as for model driven design.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Requirements definition</head><p>In this section, principles of specification of requirements relevant for intended goals to formalize service-oriented design are presented. Detailed model of requirements must define overall state and behaviour of intended information system independently of future design. Requirements definition consists of two phases: initial requirements and system requirements.</p><p>Initial requirements are described informally using Use Case diagrams and Use Case templates that are filled using terms from domain model. Every step of use case is described as user interaction with the system using pre and post conditions. To be precise, domain and use case model are constructed simultaneously: during use case analysis every time when new object types are discovered domain model is updated.</p><p>In second phase, initial requirements are further evolved. Every use case is transformed into interface between the user and the system, capturing interactions between (possibly external) interfaces, and every use case step is transformed to operation; use cases are detailed using sequence diagrams, where operations are specified in OCL. Initial use case diagram and DIM of illustrative Publication Agency are presented in Figure <ref type="figure">1</ref>; sequence diagrams representing interactions between user and system during execution of single use case (Submit) is presented in Figure <ref type="figure">2</ref>, together with specification of operation. Two kinds of sequence diagrams are used for use cases: interaction between two participants (Business interaction protocol that may be represented by protocol state machine) and namely interaction protocol that may be represented by interaction (Business transaction) state machine. Protocol state machines are introduced in UML 2.0, but interaction state machines are not considered. Sometimes they may coincide with port state machines <ref type="bibr" target="#b20">[20]</ref> but in general port may be designed for collection of interactions.</p><p>The interactions and patterns of interactions between participants of business process represent choreographies of this process executed using services; the process of internal coordination of all interactions performed in the system of individual participant makes the orchestration. State Coordinator pattern proposed in this paper may be considered as a kind of orchestration engine. Sequence diagrams like Figure <ref type="figure">2a</ref>, representing client viewpoint, are not sufficient for comprehensive specification of requirements, because realization of use case may require usage of other services supported by the intended system, or other business systems. Both offered and required interfaces are captured in interaction sequence diagrams like Figure <ref type="figure">2b</ref>. In Figure <ref type="figure" target="#fig_1">3</ref>, interaction fragments represent choreography of global business process "Submission" (for illustrative purpose, suppose that Isubmit, IRevise and IReview are interfaces of different business systems, and "Revise" is automatic service). For reconciliation of DIM, all interactions are transformed to state machines where states of the system are represented by states of interfaces and entities of domain model (Fig. <ref type="figure">4</ref>); composite state machines render compound business transactions. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 4. Concordance between state machines of interfaces and entities</head><p>State machine is the next-to-last requirements modelling step that may be performed semi-automatically with support of CASE tool <ref type="bibr" target="#b10">[10]</ref>. During this step different interac-tion scenarios are consolidated and converted to class diagram like the one in Figure <ref type="figure">1</ref> (detailed specification is not presented due to limits of space).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">State Coordinator pattern</head><p>Transformation from design independent model to design (PIM) consists of several steps and may be done in several ways. Mapping interfaces to services results in coarse design, and mapping operation constraints to methods is in responsibility of detailed design. Here we are considering architectural design, during which elements of specification are allocated to realizing architectural elements. For service-oriented design, the State Coordinator pattern is proposed (Fig. <ref type="figure" target="#fig_2">5</ref>). The Coordinator handles incoming messages that may be of two types: requests for some service operation and response from the service about operation execution results. In Figure <ref type="figure" target="#fig_2">5</ref>, Coordinator's reaction to received messages is presented graphically using sequence diagram and specified in OCL as post-conditions of Coordinator's operations.  On received request, State Coordinator handles message, unfolds the name of requested operation and calls checker to check precondition of that operation. Precondi-tions and post conditions are specified in Constraint base using attributes and relationships of entities from domain model. If Checker returns "false", the rejection message is sent. If Checker returns "true", Coordinator calls operation and service returns response about delivery or acceptance of service. Before sending response to requestor, Coordinator asks Checker to check message expressions specified in post conditions and possibly returns the set of messages that must be sent to internal or external services to fulfil the request. It may be zero, one or more messages that must be sent sequentially, in parallel or broadcast. If there are no messages to send, Coordinator resends response to the requestor (as shown in Fig. <ref type="figure" target="#fig_2">5</ref>). Otherwise, it sends messages to internal or external services as specified in message expressions, and treats received responses in the same way as before.</p><p>Message expressions mostly denote sending of message to successive interface, but they may express sequence of messages, messages sent in parallel to different targets (messages joined with "and") or even multicast message flow with dynamic targets. Indeed, every kind of these interactions may be described in OCL. If responses must be received during operation execution it means that there is composite operation, and every received message presents different operation described with pre and post conditions. In other words, every request, acceptance or response is treated as separate operation what significantly streamline reasoning. Using message expressions in post conditions, services may be composed to the system in the recursive way as services secondarily called may have calls to other services, and so on. The implementation of Checker and Constraint may vary from direct checking operations to complex rule checking engines and repositories.</p><p>The purpose of Coordinator is the same as of other design patterns <ref type="bibr" target="#b16">[16]</ref>: to "normalise" behaviour, discovering recurring activities and concentrating them in separate classes thus making the cohesive units of behaviour. In compound Web services environment, such recurring behaviour is receiving/sending of messages, checking context and selecting services for execution. State Coordinator pattern was constructed on the base of Facade and State patterns, as it was no suitable Web Service pattern for this purpose <ref type="bibr" target="#b5">[5,</ref><ref type="bibr" target="#b23">23,</ref><ref type="bibr" target="#b25">25]</ref>. It is obvious, that for practical development considerably more patterns should be used. In large systems, coordinator may be attached to every composite service.</p><p>State Coordinator pattern is simple alternative for Business Process execution engine. Coordinator handles incoming message and passes it to services according to its actual context. Coordinator uses the assistance of Checker that checks constraints (pre-conditions and post-conditions) of operations. According to the principles of good SOA design, operations of services must be stateless. Information about states is captured by entities, and all constraints describing services subject to state changes are kept in Constraint base.</p><p>Coordinator may interact with external services or own composite services but nevertheless they are treated as stateless services. It deals with constraints and signatures of operations described by constraints that represent logic of usage of these operations in Information System, and selects concrete service to fulfil request or sends response about inability to do this. If new services are inserted or business rules are changed, constraints must be supplemented or modified.</p><p>There are many ways to proceed from requirements to design though we believe that it would be valid to use State Coordinator in SOA related design when business process execution language is not used. Resulting design may be implemented using J2EE, MS .Net or other framework with message-oriented middleware, creating operations for checking constraints. Checker also may be thought as some kind of rule checking component when rules are stored declaratively in rule base.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Transformation to design</head><p>Transformation from DIM to PIM, based on State Coordination pattern, is presented in Figure <ref type="figure" target="#fig_3">6</ref>. Transformations concerning detailed design and implementation are not considered in this design phase. Signatures and body conditions of PIM operations are obtained from body conditions of DIM query operations or post-conditions of non-query operations (except of message expressions that together with preconditions are allocated to constraints). For meaningful design, operations in DIM must have been discovered in the way ensuring right division of responsibilities, and description of post-conditions must hold all information for design of methods implementing behaviour.</p><p>The transformation from DIM to PIM is based on mapping between elements of meta-models. This mapping is described by the set of rules that define how the elements of the source model (DIM) are allocated to elements of the target model (PIM). Main elements of DIM and PIM meta-models related by transformation rules are depicted in Figure <ref type="figure" target="#fig_3">6</ref>. These rules are specified using simple transformation language based on OCL <ref type="bibr" target="#b18">[18,</ref><ref type="bibr" target="#b28">28]</ref>; the main transformations are shown in Figure <ref type="figure">7</ref>, hiding details how every relationship, attribute, association end, etc. is transformed.</p><p>Transformations  (of post conditions) of DIM operations are transformed to body conditions (of methods) of PIM operations (this transformation (Constraint2Constraint) is not shown on the Figure <ref type="figure" target="#fig_3">6</ref> as soon as other details). The ultimate design of methods is deferred to the phase of detailed design; the implementation of methods sometimes may be achieved by direct transformation from OCL to program code, sometimes it must be fulfilled manually. In presented transformation some assumptions were made that may vary in different circumstances, for example, concrete naming scheme. Also, all preconditions here have textual descriptions, and exception messages are created by concatenation of negation of precondition and standard textual phrase. In practice, requirements for message entities may be predefined in requirements phase.</p><p>The implementation of transformations from DIM to PIM as extensions of UML CASE tools may be another topic of research. There are many alternatives to choose of:</p><p>To base transformations on MOF to XML mapping (Metadata Interchange (XMl) -OMG specification of standard model transfer format), but there are difficulties raised by incompatibility of different implementations of different XMI versions by CASE tools vendors.</p><p>Other alternative is to base on MOF to Java mapping − Java™ Metadata Interface (JMI) created by Sun Microsystems. It is platform independent dynamic infrastructure for metadata creation, storage, interchange and management. But dependency on application programming interface (API) of CASE tool remains unresolved. There are many other similar mappings and repositories with analogous problems. Eclipse Modelling Framework supports several metadata management scenarios and seems the most promising solution capable to sustain compatibility for different functionalities of CASE tools. Transformations in such a case may be implemented as Eclipse plugins.</p><p>Trial implementations of transformations, concerned with this work, were made (and are under further development) as extensions to UML CASE tools Argo UML (using native API) and Magic Draw (using JMI and API). Though our objectives are to propose conceptual solution for going from requirements to design and implementation serves only as demonstration of its validity, in the future the implementation issues should be more deeply concerned focusing on Eclipse Modelling Framework.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>Behaviour has many forms that must be modelled during requirements definition phase for subsequent service-oriented design: party interaction protocols; choreographies and orchestration of business processes, and transactions; interfaces and interface interactions; entities, operations and constraints. It is demonstrated that all of these concepts may be defined, analysed, and reconciled in Design Independent Modelling, where possibilities of UML 2.0 and OCL are employed.</p><p>The main purpose of the work was to demonstrate that comprehensive definition of requirements of Information System enables to obtain meaningful design in formal way. As result, transformation from requirements to architectural design is presented, during which elements, defined in requirement specification, are allocated to design elements following State Coordinator pattern proposed for service-oriented design of Information Systems.</p><p>Resulting design may be further subjected to detailed design of operations and transformed to implementation in WSDL and web services framework. Proposed pattern is simple alternative for development of service-oriented information systems when business process execution languages are not used.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>1 Fig. 1 .Fig. 2 .</head><label>112</label><figDesc>Fig. 1. Initial requirements (Use Cases) and requirements specification (DIM)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Interaction fragments (a) and interaction overview (b) representing choreographies</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. State Coordinator pattern and its principle of working</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. Transformation from requirements model (DIM) to design (PIM)</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">The work is supported by Lithuanian State Science and Studies Foundation according to Eureka programme project "IT-Europe" (Reg. No 3473)</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0" />			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Business Process Execution Language for Web Services Version 1</title>
		<author>
			<persName><forename type="first">T</forename><surname>Andrews</surname></persName>
		</author>
		<ptr target="http://www-128.ibm.com/developerworks/library/specification/ws-bpel" />
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page">1</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Business Process Modeling Language</title>
		<author>
			<persName><forename type="first">A</forename><surname>Arkin</surname></persName>
		</author>
		<ptr target="http://www.bpmi.org" />
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>BPMI</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m">Web Services Choreography Interface (WSCI) 1</title>
				<editor>
			<persName><forename type="first">A</forename><surname>Arkin</surname></persName>
		</editor>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<ptr target="http://www.w3.org/TR/wsci" />
		<title level="m">Sun Microsystems</title>
				<imprint>
			<publisher>SAP</publisher>
			<date type="published" when="2002">2002</date>
		</imprint>
		<respStmt>
			<orgName>BEA Systems</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Model-Driven Web Service Development</title>
		<author>
			<persName><forename type="first">K</forename><surname>Baina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Toumani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Advanced Information Systems Engineering. 16 th international Conference, CaiSE 2004</title>
				<editor>
			<persName><forename type="first">A</forename><surname>Persson</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Stirna</surname></persName>
		</editor>
		<meeting><address><addrLine>Riga, Latvia; Berlin Heidelberg New York</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2004">June 7-11, 2004. 2004</date>
			<biblScope unit="page" from="290" to="306" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Overview of some patterns for architecting and managing composite web services</title>
		<author>
			<persName><forename type="first">B</forename><surname>Benatalah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">C</forename><surname>Fauvet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A</forename><surname>Rabhi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><forename type="middle">Z</forename><surname>Sheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM SIGecom Exchanges archive</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="9" to="16" />
			<date type="published" when="2002">2002. 2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Conceptual Modeling of Web Service Conversations</title>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Casati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Toumani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Hamadi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 15th International Conference on Advanced Information Systems Engineering (CAiSE&apos;03)</title>
		<title level="s">LNCS</title>
		<editor>
			<persName><forename type="first">G</forename><surname>Goos</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Hartmanis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Van Leeuwen</surname></persName>
		</editor>
		<meeting>the 15th International Conference on Advanced Information Systems Engineering (CAiSE&apos;03)<address><addrLine>Klagenfurt, Austria</addrLine></address></meeting>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2681</biblScope>
			<biblScope unit="page" from="449" to="467" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A foundational vision of e-services</title>
		<author>
			<persName><forename type="first">D</forename><surname>Berardi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>De Giacomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mecella</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the CAiSE 2003 Workshop on Web Services, LNCS</title>
				<editor>
			<persName><forename type="first">G</forename><surname>Goos</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Hartmanis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Van Leeuwen</surname></persName>
		</editor>
		<meeting>of the CAiSE 2003 Workshop on Web Services, LNCS</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">3095</biblScope>
			<biblScope unit="page" from="28" to="40" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<ptr target="http://www.bpmn.org" />
		<title level="m">Business Process Modelling Notation (BPMN)</title>
				<imprint>
			<publisher>BPMI</publisher>
			<date type="published" when="2004-05-03">May 3 2004. 2004</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page">0</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<ptr target="http://www.oasis-open.org" />
		<title level="m">Organization for the Advancement of Structured Information Systems</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
	<note>Business Transaction Protocol Primer</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Design Independent Modeling of Information Systems Using UML and OCL</title>
		<author>
			<persName><forename type="first">L</forename><surname>Ceponiene</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Nemuraite</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Sixth International Baltic Conference on Data Bases and Information Systems (DB&amp;IS&apos;2004)</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Barzdins</surname></persName>
		</editor>
		<meeting><address><addrLine>Riga, Latvia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">672</biblScope>
			<biblScope unit="page" from="357" to="372" />
		</imprint>
	</monogr>
	<note>Databases and Information Systems, Computer Science and Information Technologies</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Design of schemas of state and behaviour for emerging information systems</title>
		<author>
			<persName><forename type="first">L</forename><surname>Ceponiene</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Nemuraite</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Paradauskas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Computer Science Reports</title>
		<editor>Thalheim, B., Fiedler, G.</editor>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="27" to="31" />
			<date type="published" when="2003">2003</date>
			<publisher>Branderburg University of Technology at</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Objects, Components, and Frameworks with UML. The Catalysis Approach</title>
		<author>
			<persName><forename type="first">D'</forename><surname>Souza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">F</forename><surname>Wills</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">C</forename></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Addison Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">A new model for multiparty collaborations</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">J</forename><surname>Dubray</surname></persName>
		</author>
		<ptr target="http://www.ebpml.org" />
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
	<note type="report_type">EBPML.org</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<ptr target="http://www.ebxml.org/specs" />
		<title level="m">Version 1.01. Business Process Project Team, UN/CEFACT and OASIS</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
	<note>ebXML Business Process Specification Schema</note>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">Domain Driven Design. Tackling complexity at the heart of software</title>
		<author>
			<persName><forename type="first">E</forename><surname>Evans</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Design Patterns: Elements of Reusable Object-Oriented Software</title>
		<author>
			<persName><forename type="first">E</forename><surname>Gamma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Helm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vlissides</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994">1994</date>
			<publisher>Addison-Wesley Pearson Education</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<title level="m" type="main">Web Services Choreography Definition Language</title>
		<author>
			<persName><forename type="first">N</forename><surname>Kavantzas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Ed), Olsson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mischkinsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chapman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Oracle Corporation</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">MDA Explained: The Model Driven Architecture™: Practice and Promise</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kleppe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Warmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Bast</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Addison Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m" type="main">Executable UML. A foundation for model-driven architecture</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J</forename><surname>Mellor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Balcer</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Specifying Component Behavior with Port State Machines</title>
		<author>
			<persName><forename type="first">V</forename><surname>Mencl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electronic Notes in Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">101</biblScope>
			<biblScope unit="page" from="129" to="153" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">Web Service Patterns: Java Edition</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">B</forename><surname>Monday</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Springer-Verlag New York, Inc</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m" type="main">A Survey of Web service technologies</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Papazoglou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Dubray</surname></persName>
		</author>
		<idno>DIT-04-058</idno>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
		<respStmt>
			<orgName>Informatica e Telecomunicazioni, University of Trento</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<author>
			<persName><forename type="first">I</forename><surname>Singh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Brydon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Murray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Ramachandran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Violleau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Stearns</surname></persName>
		</author>
		<title level="m">Designing Web Services with the J2EE™ 1.4 Platform JAX-RPC, SOAP, and XML Technologies</title>
				<meeting><address><addrLine>Boston</addrLine></address></meeting>
		<imprint>
			<publisher>Addison Wesley</publisher>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<ptr target="http://www.unece.org/cefact/umm/umm_index.htm" />
		<title level="m">UN/CEFACT Modeling Methodology</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
	<note>UNCEFACT/TMWG</note>
</biblStruct>

<biblStruct xml:id="b25">
	<monogr>
		<title level="m" type="main">Unified Modeling Language Superstructure Specification</title>
		<idno>ptc/03-08-02</idno>
		<ptr target="http://www.omg.org" />
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
	<note>Version 2.0. OMG document</note>
</biblStruct>

<biblStruct xml:id="b26">
	<monogr>
		<title level="m" type="main">Unified Modeling Language: OCL Version 2.0</title>
		<idno>OMG document ptc/03-08-08</idno>
		<ptr target="http://www.omg.org" />
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<title level="m" type="main">Web Services Architecture</title>
		<ptr target="http://www.w3.org" />
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>W3C WG</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<monogr>
		<title level="m" type="main">Object constraint language, The: Getting Your Models Ready for MDA</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">B</forename><surname>Warmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">G</forename><surname>Kleppe</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<publisher>Addison Wesley</publisher>
			<pubPlace>Boston</pubPlace>
		</imprint>
	</monogr>
	<note>Second Edition</note>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Web Services Description Language (WSDL)</title>
		<ptr target="http://www.w3.org/TR/2004" />
	</analytic>
	<monogr>
		<title level="j">Version</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">0</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Service components for managing the life-cycle of service compositions</title>
		<author>
			<persName><forename type="first">J</forename><surname>Yang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Papazoglou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Syst</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="97" to="125" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<title level="m" type="main">Elements of Service-Oriented Analysis and Design</title>
		<author>
			<persName><forename type="first">O</forename><surname>Zimmerman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Krogdahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gee</surname></persName>
		</author>
		<ptr target="http://www-" />
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>International Business Machines</publisher>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
