Academia.eduAcademia.edu

Reening Business Processes

1999

In this paper, we present a calculus for re nement of business process models, based on a precise de nition of business processes and process nets. Business process models are a vital concept for communicating with experts of the application domain. Depending on the roles and responsibilities of the application domain experts involved, process models are discussed on di erent levels of abstraction. These may range from detailed regulations for process execution to the interrelation of basic core processes on a strategic level. To ensure consistency and to allow for a exible integration of process information on di erent levels of abstraction, we i n troduce re nement rules that allow t h e incremental addition to and re nement of the information in a process model, while maintaining the validity o f more abstract high level processes. In particular, we allow the decomposition of single processes and logical data channels, as well as the extension of the interface and channel structure to information that is newly gained or increased in relevance during the modeling process.

Rening Business Processes Bernhard Rumpe, Veronika Thurner Department of Computer Science, Technical University of Munich Arcisstr. 21, 80290 Munich, Germany email: frumpe j [email protected] Abstract In this paper, we present a calculus for renement of business process models, based on a precise denition of business processes and process nets. Business process models are a vital concept for communicating with experts of the application domain. Depending on the roles and responsibilities of the application domain experts involved, process models are discussed on dierent levels of abstraction. These may range from detailed regulations for process execution to the interrelation of basic core processes on a strategic level. To ensure consistency and to allow for a exible integration of process information on dierent levels of abstraction, we introduce renement rules that allow the incremental addition to and renement of the information in a process model, while maintaining the validity of more abstract high level processes. In particular, we allow the decomposition of single processes and logical data channels, as well as the extension of the interface and channel structure to information that is newly gained or increased in relevance during the modeling process. 1 Motivation Business process modeling today becomes an increasingly important technique for capturing system behavior on di erent levels of abstraction. A major strength of business process models is their suitability for supporting communication between system users and system developers, as they capture rather intuitively what the user and the system  do to achieve certain goals Ost95]. In addition to an appropriate notation, techniques are needed which e ectively employ the notation in system modeling. Ideally, these techniques are supported by powerful tools that not only provide suitable editors for business process models, but also support sophisticated functionality such as the checking of appropriate context conditions, simulation or execution of business processes, or code generation Fab98, Sch92]. Just as not every collection of words builds a meaningful sentence, not every combination of business processes is a meaningful business process net. Context conditions on business processes restrict possible combinations in such a way that the valid results are meaningful. This work originates from the SysLab project, supported by the DFG under the Leibniz program and by SiemensNixdorf, as well as from the FORSOFT project, supported by the Bayerische Forschungsstiftung. 1 [RT98] B. Rumpe, V. Thurner. Refining Business Processes. In: Seventh OOPSLA Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specifications) Haim Kilov, Bernhard Rumpe, Ian Simmonds (eds.) Technical University Munich, TUM-I9820. www.se-rwth.de/publications Typically in systems modeling, business process models are not developed in isolation, but in combination with other system aspects and corresponding notations, such as object models and class diagrams to describe di erent viewpoints on a system in an integrated way KR94, Gro97, RBP+ 91, Boo94]. Consequently, a smooth relation between the different concepts and their corresponding notations must be provided, to allow separate views to dene an integrated, consistent system description. Today, such integrations are still under investigation, even for widespread sets of modeling notations such as the UML (for example, see EFLR98, BGH+97, KR98, BCMR98]). Thus, it is not surprising that a combination of business process models with other modeling concepts (e.g. as provided by UML) which is smoothly integrated on a formal basis and well accepted in practice does not yet exist. One possible way of integrating notations for di erent modeling concepts formalizes these notations based on some well known formalism. Subsequently, the inter-relations of these notations are specied on the semantic level in terms of context conditions which ensure that the separate parts of the model t together consistently. Furthermore, transformation rules are provided, which allow the translation of information from one modeling notation into another. For example, business process models could be transformed into corresponding interaction diagrams, state machines, or code. Of course, these transformation rules that are provided must be sound with respects to the given semantics. When modeling real world systems, even model diagrams that focus on just one system aspect, such as data or behavior, tend to get very large, complex and thus dicult to handle. A common approach to reduce this complexity is the decomposition of the model into separate parts. Usually, these parts will be interrelated. Therefore, analogous to the transformation rules mentioned above, which relate di erent modeling notations, techniques are needed which relate di erent models within a single notation. In this paper, we will discuss transformation rules within a notation for business process models, focussing on renement as a special and widely used type of transformation within a single modeling technique. Renement denotes the addition of more detailed information, possibly on a more detailed level, while preserving the original information. Here, preservation of some given information means that it is possibly strengthened, but never violated. A complete formal treatment of business processes, their renement and a proof of their semantic correctness is beyond the scope of this paper. Methodical guidelines for the use of this calculus are currently under development. Our formal notion of renement is more restrictive than some of the similar concepts used elsewhere. Renement preserves and strengthens given properties, but does not violate them. This explicitly excludes changes at lower levels, where higher level properties are violated. Usually, a business process model is not a big bang invention, but a step by step development. Renement rules exhibit their power through the possibility of combining them to support more complex developments. Section 2 introduces the concept of business process models by a small example. Section 3 presents our notion of renement and demonstrates the renement rules with the help of an example. Finally, Section 4 summarizes our results and presents an outlook. 2 A Notion of Business Processes In this section, we will introduce briey the concept of business processes. After informally introducing the core aspects with an example, we will give a precise denition of business processes by providing an abstract syntax. As we focus here on renement rules rather than on complex process structures, we restrict ourselves to exemplary system behavior throughout this work, instead of modeling alternative or cyclic processes. A treatment of complex business process structures is provided by Thu98]. 2.1 Introduction to Business Processes - book id request book reservation - move book book id to reservation - desk book - book id retrieve book user id notify user of availability receive - notication note Figure 1: An example process net We introduce an intuitive understanding of business process models by discussing the business process net in Figure 1. The example visualizes that part of a business process which takes place in a library when a library user requests the reservation of a book. Starting from the identier of the requested book, the book is retrieved by a library service and forwarded to the reservation desk. Then, a notication of the availability of the requested book is issued and forwarded to the library user, who receives this notication. The diagram depicted in Figure 1 contains a set of boxes, each of which represents a business process (or in short process). Each of these processes serves a special duty or contributes to the performance of a certain task. At an early stage of system modeling where business process modeling is often employed as a means of requirements elicitation, we are not interested in who performs a process, as this already includes some design decisions. As modeling and design procedes, processes are assigned roles according to pragmatic aspects such as required skill, authority or accountability. Via the concept of roles, processes are then assigned to people and other actors in the system's organizational structure. As business processes only describe one view of a system or organization, we cannot expect everything to be described with them. For example, pre- and postconditions and global state changes are not core concepts of business processes, but can be handeled by appropriate extensions. In the early stages of process modeling, we focus on the procedural aspects of business process, i.e. on what has to be done to achieve some system goal, thus modeling business processes and their causal dependencies that are due to the exchange of information or material. Causal dependencies are represented by arrows. They may be annotated with message types, and channel names which are composed of port identiers. Methodically it is important to allow causality constraints to be explicitly dened, as this also allows to compare these with the causalities that may be derived from invariants or code. Message types refer to business objects as dened in a data dictionary, or to data types specied in the corresponding data model and primarily denote pieces of information (or even material) owing between the business processes. In the following, we use the terms data, pieces of information, and messages interchangeably. Within a process net, business processes are uniquely identied by their name. As a modeling convention, the process name should provide a rst intuitive notion of what the process does and ideally also its most important object. A process communicates with other processes via its typed interface. From the perspective of methodology, when developing a business process model, at rst it often is both practical and sucient to introduce a new business process by providing its name and an informal textual explanation of its transition relation, without precisely speciying the process interface or the processing mechanism. The processes in a process net have a causal connection to describe which process depends on which. Such a causal dependency is indicated by an arrow. As circular dependencies must be avoided, the process net needs to be acyclic. However, each process is allowed to have several incoming and outgoing dependencies, even several between the same two processes. To ease the reading of a business process net, we recommend to direct all arrows from left to right. The interface of a business process is determined by the set of dependencies it is connected with. We distinguish incoming and outgoing dependencies. As with processes, dependencies may be attached with a name (type) to indicate the kind of dependency. To uniquely identify dependencies, additional identier names may be used. In Figure 1, dependencies and their connections are depicted by arrows only. Internally, additional port names are used to dene the connection structure, but these are normally omitted in a graphic representation. It usually suces to qualify a dependency by naming source and destination process without any more information. Some of the arrows are not completely connected to processes, but indicate a dependency with the environment (either incoming or outgoing). The business process net in Figure 1 is composed of black-box descriptions of several business processes. These processes can be described in more detail by regarding their glass-box denition, which again is a business process net that realizes at least the external interface given in the black-box description of its parent process. For example, the blackbox description of a process already introduced in Figure 1 is shown in Figure 2. A corresponding glass-box denition is presented in Figure 3. rb : in 1 book id - out retrieve book out rb rb : 1 2 book id : book Figure 2: Black-box process description - book id - book id check book holder reader id - book id notify reader of return request - - book id return book book return request Figure 3: Glass-box process denition by a process net This technique provides a very simple composition operation on business processes that can be used to hierarchically structure business process models into nets of di erent layers. It does not only allow to compose business process nets, but also to decompose a given single business process using a more detailed business process net. Usually, causal dependencies are due to data exchange, where some data that is produced by the former process has to be used by the later process. Some rare other cases stem from some kind of synchronisation constraints, in which the former process releases a resource and the later process aquires it. This can also be modeled by data ow. Therefore we can simply interpret all dependencies as dataow channels where exactly one piece of (perhaps complex) data is owing. Then the dependency types may be interpreted as data types for the channels. In the context of dataow diagrams, we speak of input and output ports which are connected by channels. Therefore, the interface of a business process is dened by a set of input and output ports. At the beginning of the modeling process, quite often it might not be obvious which type of data should be associated with a certain dependency (dataow channel). Consequently, the modeler is not forced to attach a type of data to each port. This would prohibit the adding of underspecied process types to the model. Instead, it is allowed to add newly gained information on the dependency to the model when appropriate. Furthermore, when modeling on a high level of abstraction, it is usually not sensible to attach data sorts to ports, as communication on this level tends to be very complex and is therefore often only vaguely understood. In contrast to typical dataow nets, a business process net relies on a more involved computation idea. Based on two basic assumptions, we get a computation model that reects reality in a better way, and furthermore allows for an easy decomposition of business processes. We assume 1. Although on each channel, conceptually only one piece of data arrives, we assume that this data can be structured in a complex way and can itself be provided piecewise. 2. In general, business processes are greedy, i.e. trying to compute as much as possible from the partial input data that is already given. Although this is not always appropriate and typically not the case when people are involved, it is a good starting point for conceptual modeling of business processes. In an implementation, timing constraints can replace the greedy-runs-assumption. The timing constraints then not only dene the time when a process performs its task, but also the maximum duration for which data may be bu ered between the processes. Therefore such a channel behaves like a letter-box, as a bu er with a maximum time of delay. 2.2 Precise Denition of Business Processes In the following, we will give a short introduction to the abstract syntax of business processes. For simplicity, we assume that the type denitions for processes are given. Furthermore, for providing type denitions of ports, we assume a set of data sorts to be given as well. By we denote the set of all ports. With each port 2 , we can associate a data sort ( ) by : ! S Pt pt Pt S ort pt S ort Pt S: Above we argued that for reasons of methodical usage, a sort cannot always be assigned to every new port right away. Therefore, we allow for underspecication of ports, where sorts can be omitted at rst, but may be associated with a port when appropriate. A process is a tuple ( ), where  and are disjoint sets of input and output ports and  is the behavior relation describing the transformation from input to output. is dened as  p2In ( )  p2Out () where  is a large cross product collecting values of input and output ports, respectively. I n Out b In Out b b b S ort p S ort p is a relation describing the possible outputs of a business process, depending on its inputs. Such a relation may be described using natural language, as well as logic formulae or an algorithmic implementation. However, it can also be derived from a glass-box decomposition of the business process as we will show below. Let in the following be the set of business processes. For a specic process 2 , we denote its sets of input and output ports by bp and bp, respectively. Furthermore, we dene bp = bp  bp to be the set of all ports of process . As already noted, b BP bp In Pt In Out Out bp BP we usually suppress the port names in the diagrammatic representation. In Figure 3 only the interface ports have port names given explicitly ( rb1 , rb1 , and rb2 ) Processes communicate with each other by exchanging messages via input and output bp) of a ports. The sets of its input ports and output ports build the interface ( bp process . For simplicity we assume that the ports are unique for each process: bp2 ) = bp1  bp1 ) \ ( bp2  1 6= 2 )( in out out In  Out bp bp bp In Out In Out So far, we have treated each process in an isolated way. To describe complex system behavior, it is necessary to compose several single processes into a process network. This interconnection of processes corresponds to data dependencies. A business process net is a tuple ( ) consisting of  a set of business processes  ,  a set of channels   connecting some output port of a process to an incoming port of a successor process,  a set of destinations  , for incoming ports, and  a set of sources  for outgoing ports. P C I  O P C Out I O BP In In Out Note that the set of input and output ports in the overall and areSderived from S bp and = bp2P bp. the set of business processes according to = bp2P While species process connections by internal channels, describes through which ports of some internal process of the net, the environment may connect to the process net by providing input. Correspondingly, describes which ports are available for the environment. In the following, we denote the set of business process nets by . To ensure that a business process net is well formed, several constraints must hold. By 1 and 2 , respectively, we denote projection of a channel from   to the sending or receiving process. 1. An input port is either internal to the process net, or a destination for incoming channels from the environment. 2( ) \ = In BP Out In In C Out Out I O BP N   C  C Out In I 2. All internal input ports within a process net are connected to exactly one output port within the net: 8 1 2 2 : 2( 1) = 2( 2) ) 1 = 2 As a consequence of constraints 1 and 2, each input port is either assigned to exactly one output port, or is an input port for the whole net. Please note that we do not demand a similar restriction for output ports. Thus we support the modeling of output ports that feed into several channels, even up to broadcasting (see Figure 4). c c C  c  c c c - bp21 - *hin bp22 1 - bp22 - bp23 in bp21 1 bp1 in bp1 1 bp1 1 out bp1 - out bp21 1 out bp22 1 out bp23 1 - in 2 in bp23 1 - Figure 4: Broadcasting among processes 3. Port types of a channel t together: ( s d) 2 ) pt  pt C ( )= S ort pts ( ) S ort ptd 4. We employ our process nets for modeling exemplary system behavior. Therefore, we want to exclude cyclic behavior, as this would add loops to the process model and thus contradict our intuition. Thus, we require the business process net to be acyclic, which we model by enforcing a possible serialization (quite like transactions can be serialized): 9 f : P inj ! IN : 8bps  bpd 2 P : (Outbps  I nbpd ) \ C 6= ) f (bps ) < f (bpd ) A business process net can be interpreted as a decomposition of a more abstract business process, providing a more detailed description of how the business process is realized. Thus, given a business process net = ( n n n n), we can easily build an abstraction of the decomposition description, yielding a black-box business process 2 with bp bp interface = n and = n, disregarding the internal connection structure. Furthermore, the behavior of the composed business process is derived from the behavior relation of the constituent business processes as well. This is done using a composition operation, quite similar to the functional composition known from mathematics. A more general composition operator which can also be used in this context is given in PR97]. Please note that for a concrete representation of a business process net, e.g. when using an appropriate CASE-tool, we assume that it is possible to not visualize less important channels. Also, we assume that for several channels from one business process to the same destination process, a grouping into a single channel should be supported. This allows for a more compact process representation. A complete business process model consists of a partial assignment of business process nets to processes that they rene. Thus, the set of business process models is dened by: = ( par ! ) n P C I O bp In I Out O bp BP M BP BP N BP If we assume a top level business process called system to be given in the set of business processes BP , then a business process model consists of a hierarchy of business process nets. Here, some constraints do hold as well. The most obvious one is that the hierarchy of process nets has to be a tree, which furthermore needs to be nite in depth and breadth (not formalized here). 3 Renement In this section, we will introduce the notion of renement. Then, we will give some transformation rules that are appropriate renement steps for business process nets. 3.1 Notion of Renement A renement step derives a new, more specic model from an existing one. More specic means that in all aspects, it provides at least the information that is provided by the original model. Therefore, all properties that can be deduced from the previous model are ensured to remain true. From a technical point of view, we can classify renement techniques in three di erent categories: Black-box to black-box renement allows to add information to an existing process denition, e.g. by extending its interface. Black-box to glass-box decomposition (also called structural renement) details a process denition by providing a corresponding process net, which describes the internal structure. This is the core of hierarchical decomposition of business processes. This kind of renement strongly corresponds to the existence of a composition operation. Glass-box to glass-box renement modies an already given process net into another one, e.g. by introducing additional dependencies between sub-processes. Furthermore, we do not rene single processes or process nets in isolation, but the complete business process model. E.g. whenever a channel is added or changed within a process net, the sub-nets of the a ected processes are also a ected. The provided notion of renement for business processes is related to behavioral and structural inheritance in the object-oriented context. For example, the ports of a business process, which is structurally decomposed, are inherited to sub-processes. Also, renement through adding of dependencies (data-ow channels) is quite similar to the interface extension mechanism of inheritance. Renement can be achieved by applying it either independently, or in combination, to di erent parts of the business process model:  the interface of business processes,  the set of processes composed within a process net,  the channel structure within a process net, and  the data sorts. This provides a large design space for di erent kinds of rules. The following set of rules by no means claims to be complete, but focusses on the most interesting ones. Practice will show that more rules are needed to rene business process models. However, it is very important to have rules that are semantically sound. A formal semantics for business processes was provided in Thu98]. As we did not present a formal semantics for business process models in this paper, we will not formally prove the correctness of our rules. However, from the informal explanations of business processes it might become clear that the renement rules are semantically sound. As we have dened a business process model to be a hierarchy of business process nets, in general, renement steps are transformations of the following kind T : BPM ! BPM Usually, the a ected set of business processes is relatively small. It is restricted to those subtrees in the model hierarchy that comprise the glass box views of the modied processes. Quite often, only parts of those subtrees have to be actually modied. In the following, we will concentrate on the a ected nets. 3.2 Renement Rules We start discussing the di erent possible renement rules by regarding the business process in Figure 5. bp in bp 1 bp - out bp 1 in 2 Figure 5: Simple business process Decomposition of a Business Process Assuming that process bp is not yet decomposed by a sub-net in our business process model, then it is an obvious rule to allow the decomposition of bp into a sub-net, as can be seen in Figure 6. If the result is a valid business process model (i.e. no forbidden loop occurs) then it is also a renement of the former model. This picture also claries why greedy components that evaluate partial information are useful. As sub-process bp1 does not rely on inbp2 , it may greedily process its input before - in bp 1 bp1 - bp2 (out bp1 1 , in 1 ) bp2 - out bp 1 in bp 2 Figure 6: Decomposition of Figure 5 to process net with same interface exists. Similarly, sub-process bp2 may greedily start processing on input inbp2 without having to wait for process bp1 to produce its result. bp in2 Adding of Channels Adding of new channels is in general a valid renement, as we assume that a business process model is typically rather abstract, depicting only the important, interesting dependencies or those that are well-known at a particular stage of modeling, and abstracting from unimportant dependencies. Strictly speaking, new channels are introduced by adding new ports to corresponding processes and connecting these ports via channels. Through rening a model into a more detailed one, these dependencies need to be explicitly added. Adding a channel always a ects several layers of process nets. If the channel is internal to process bp, then it a ects the glass-box description of bp and the interfaces of its sub-processes (therefore black-box and glass-box on the sub-process level). The addition of a channel is allowed in either combination, it may even a ect the interfaces of several layers, as long as no circular dependency relation is established, and process types are not contradicting. In Figure 7, a renement of the net shown in Figure 6 and therefore a renement of the original process is depicted. - out bp1 2 - in bp 1 bp1 -- bp2 (out bp1 1 , in 1 ) bp2 - out bp 1 in bp 2 in bp2 2 Figure 7: Renement of Figure 6 through adding channels Decomposition of Dependencies, Data Renement Dependencies are interpreted as dataow channels, in which exactly one piece of data is transmitted. In general, this data document is quite complex and consists in itself of several di erent kinds of pieces of data. This may either be a record of relatively independent data or a collection (e.g. sequence, set) of data of the same type. As we originally allowed the data sort of a channel to be unspecied, it is a valid renement to dene the data sort of a channel. Figure 8 renes the process shown in Figure 5 by associating a complex data type with the process' output port. in bp 1- bp - out bp :A B 1 - in bp 2 Figure 8: Renement of Figure 5 through adding a data type Besides specifying the data in greater detail, it would be even more useful to decompose a channel containing complex data into several channels with simpler data. This is e.g. useful after decomposing a process and realizing that di erent portions of the data channel are used in di erent sub-processes, or are collected from di erent sub-processes. Figure 9 illustrates a decomposition of process 2 and output channel bp1 (see Figure 6) into two new processes and new channels. Note that operator describes the relationship between the ports of the original process to the corresponding ports of the rening subnet. bp out bp out bp1 2in bp 1- bp1 in bp 2 in bp2 2 where bp out1 bp2 (out bp1 1 , in 1 )- - bp21 out bp21 1-: A - bp22 out bp22 1-: B 21 bp22 foutbp  out1 g 1 Figure 9: Decomposition of an output channel from Figure 6 Folding and Unfolding Sometimes it becomes apparent that a given business process model is not well structured, as too many or too few dependencies between processes exist. This is frequently the case when new dependencies are added that the modeler has not been aware of previously. For restructuring process models, the basic transformation rules folding and unfolding are used. The unfolding rule basically copies a sub-net into a higher net, thus expanding it. Correspondingly, the folding rule does the inverse. The combination of these two rules allows almost free rearrangements of business process models within a subtree, and therefore allows a rather exible restructuring. - book id request book reservation check book holder - notify reader book-id return return book - ofrequest return request book id reader id - move book book id to reservation - user notify desk of book - availability book id - receive note notication user id Figure 10: Unfolding of a process net In Figure 10, such an unfolding is given, which expands the process net introduced in Figure 1 by the process net presented in Figure 3. In principle, unfolding of a process net is possible wherever a rening sub-net is dened for at least one of the processes in the process net. While unfolding forgets structure, folding adds structural information. Therefore, some additional information, namely the set of folded processes, has to be provided in such a way that the result is still a well-formed business process model. Especially circular dependencies are not allowed. Although folding and unfolding are in nature related with the composition rule, they deal with di erent methodical purposes. While composition is used to introduce new additional structure into a business process model, unfolding and folding deal with existing structure by attening it or introducing more hierarchy, respectively. Of course, combinations of these renement rules lead to more powerful rules. However, it is also useful to provide specializations of the rules that e.g. deal with the addition of one channel, as this is often the case when tools are involved. 4 Outlook In this paper, we have dened a formal notion of business processes and a set of rules that allow to rene them. We have demonstrated that it is possible to establish a precise notion of transformation, composition and renement for business processes. In the area of business process modeling there is a large amount of papers available that deal with di erent aspects of business processes Ber98, Mil98, CKO92, Lew97, War94, HJ94, SL94]. However, business processes are often treated in an informal or at the most semi-formal way. Furthermore, a calculus of rules describing how to manipulate business processes in order to hierarchically rene them has not been dened so far. The idea of renement originally stems from algebraic specications and was adapted to di erent forms of diagrams, e.g. to state machines in Rum96] and to information ow architectures in PR97]. To be more exible, the notion of business processes in this paper can be enhanced further. For example, when decomposing a business process, typically there is not a single one, but rather a set of di erent rening business process nets, from which a net will be chosen for execution according to some initial condition. These extensions can be simulated in our approach by sending simple signals (or null messages) indicating that no other information will arrive to those branches of the process net that shall not be executed, as well as by our notion of greedy evaluation for business processes. However, a more explicit notion of selecting a process net for execution from a larger set of process variants would also allow for special renement rules, e.g. the cutting of a computation path that will never be used. An integration of the renement calculus presented here with the choice operators for input and output introduced in Thu98] should form the basis for these more sophisticated renement rules. When implementing our notion of business processes, the greedy computation model is at least partly to be replaced by timing constraints. If, furthermore, explicit timing constraints are involved, then an analysis of critical paths may be of major interest. Another very important aspect of implementing business process models is their mapping to components for execution. For executing a certain business process, the associated component adopts an appropriate role. The mapping of business processes to components is exible, as one component can serve several business processes. Furthermore, it is also possible to assign the same role to several components, even if they belong to di erent types. On the other hand, a complex process may require the collaboration of several business components for its execution. Consequently, the structure of components of the software system and the structure of the business process model may be to a large extent orthogonal. In addition to mapping business processes to components via roles, dataow channels are to be considered as component internal or communication paths between components. A simple, yet often convincing solution is to constructively derive parts of the software architecture according to the business process model and to implement dataow via shared database access and a separate control and scheduling mechanism. Most important for a renement calculus like the one given above is the preparation of appropriate tool support. Through implementation of a renement calculus for state transition diagrams, as dened in Rum96], we have shown the feasibility of such transformation tools FR98]. References BCMR98] Manfred Broy, Derek Coleman, Tom S. E. Maibaum and Bernhard Rumpe. PSMT { ICSE'98 Workshop on Precise Semantics for Software Modeling Techniques. In Proceedings of International Conference on Software Engineerig (ICSE'98) Addendum. IEEE Computer Society, 1998. Ber98] Birol Berkem. Traceability Management from `Business Processes' to `Use Cases'. In Haim Kilov and Bernhard Rumpe, editors, Second ECOOP Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specications). Technische Universitat Munchen, TUM-I9813, 1998. BGH+97] R. Breu, R. Grosu, F. Huber, B. Rumpe and W. Schwerin. Towards a Precise Semantics for Object-Oriented Modeling Techniques. In Haim Kilov and Bernhard Rumpe, editors, Proceedings ECOOP'97 Workshop on Precise Semantics for Object-Oriented Modeling Techniques. TUM-I9725, 1997. Boo94] G. Booch. Object Oriented Analysis and Design with Applications. Benjamin/Cummings Publishing Company, Inc., 1994. CKO92] B. Curtis, M.I. Kellner and J. Over. Process Modeling. Communications of the ACM, 35(9):75{90, September 1992. EFLR98] A. Evans, R. France, K. Lano and R. Rumpe. Developing the UML as a Formal Modelling Language. In Proceedings of the UML'98, LNCS. Springer-Verlag, Berlin, 1998. Fab98] FabaSoft. FabaSoft Components/Wf. www.fabasoft.com, 1998. FR98] M. Fahrmair and B. Rumpe. Frisco STDA - Ein Werkzeug zur methodischen Bearbeitung von Automaten. Technical Report TUM-I9815, Technische Universitat Munchen, June 1998. Gro97] UML Group. Unied Modeling Language. Version 1.1, Rational Software Corporation, Santa Clara, CA-95051, USA, July 1997. HJ94] P. Hartel and R. Jungclaus. Specifying Business Processes over Objects. In P. Loucopoulos, editor, ER'94: Business Modeling and Re-Engineering, pages 10{27, Berlin, December 1994. Springer-Verlag. KR94] H. Kilov and J. Ross. Information Modeling: an Object-oriented Approach. Englewood Cli s, NJ: Prentice-Hall, 1994. KR98] Haim Kilov and Bernhard Rumpe. Second ECOOP Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specications). Technical Report TUM-I9813, Technische Universitat Munchen, 1998. Lew97] E.G. Lewis. Managing the Risks of Reengineerint to Achieve Enterprise Excellence for the 21st Century. In N. Callaos, C.M. Khoong and E. Cohen, editors, World Multiconference on Systemics, Cybernetics and Informatics, SCI'97, pages 84{90, Orlando, Florida, July 1997. International Institute of Informatics and Systemics. Mil98] Fatma Mili. On the Formalization of Business Rules: Generic Rules for Composition and Containment. In Haim Kilov and Bernhard Rumpe, editors, Second ECOOP Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specications). Technische Universitat Munchen, TUMI9813, 1998.   Ost95] H. Osterle. Business Engineering { Proze- und Systementwicklung, volume 1. Springer-Verlag, Berlin, 1995. PR97] J. Philipps and B. Rumpe. Renement of Information Flow Architectures. In M. Hinchey, editor, ICFEM'97. IEEE CS Press, 1997. RBP+91] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy and W. Lorensen. ObjectOriented Modeling and Design. Prentice Hall, 1991. Rum96] Bernhard Rumpe. Formale Methodik des Entwurfs verteilter objektorientierter Systeme. Ph.D. Thesis, Technische Universitat Munchen, 1996. Sch92] A.-W. Scheer. Architektur integrierter Informationssysteme { Grundlagen der Unternehmensmodellierung. Springer Verlag, Berlin, 2 edition, 1992. SL94] D. Seo and P. Loucopoulos. Formalisation of Data and Process Model Reuse Using Hierarchic Data Types. In G. Wijers, S. Brinkkemper and T. Wasserman, editors, Advanced Information Systems Engineering CAiSE'94, pages 256{268, Berlin, June 1994. Springer-Verlag. Thu98] V. Thurner. A Formally Founded Description Technique for Business Processes. In B. Kramer, N. Uchihira, P. Croll and S. Russo, editors, PDSE'98 Symposium on Parallel and Distributed Systems Engineering, pages 254{261, Los Alamitos, California, April 1998. IEEE Computer Society. War94] B. Warboys. Reections on the Relationship between BPR and Software Process Modeling. In P. Loucopoulos, editor, ER'94: Business Modeling and Re-Engineering, pages 1{9, Berlin, December 1994. Springer-Verlag.