exercises (15)

Monday, 29 April 2013 09:06

Chapter 16 - Alaska Simulator Toolset

To conduct the following exercises, download a version of Alaska Simulator from the book's website and follow the instructions on the website.

16.1. Agile versus Plan-driven:

In this exercise you can explore the two different modes of Alaska Simulator (i.e., the plan-driven and the agile mode) using two different configurations (i.e., Alaska and California).

16.2. Dealing with varying levels of constraints:

In this exercise you can explore the planning and execution of constraint-based process models with varying levels of constraints.

16.3. Dealing with varying unforeseen events:

In this exercise you can explore the planning and execution of constraint-based processes with varying levels of unforeseen events.

Fig. 16.13 Replaying Journeys with Alaska Analyzer

Monday, 29 April 2013 08:54

Chapter 15 - AristaFlow BPM Suite

15.1. Order Process

To conduct this exercise, first download the screencast AristaFlowDemo. This screencast deals with the modeling, implementation, execution, and change of a simple order process. This process consists of the atomic activity Fill Out Order Form succeeded by the complex activitySend Order. The former is implemented through a user form, the latter refers to a sub-process that comprises the two activities Format Message and Send Mail. In detail: First, the screencast demonstrates how the order process and its sub-process can be implemented in a "plug & play" style using the AristaFlow Process Template Editor. Second, it shows how the implemented process can be executed using the AristaFlow Test Client. Third, it is shown how an ad-hoc change is applied to a particular instance of the order process. Play this screencast and answer the following questions in your own words:

  • Which activity template is used to implement activity Fill Out Order Form? How is this activity template configured in the given context?
  • How is data exchanged between the Order Process and the sub-process its activity Send Order refers to?
  • Consider the sub-process implementing activity Send Order. Which activity templates are used for implementing activities Format Message and Send Mail? How are these activity templates assigned to the two activities?
  • Explain how the described correctness-by-construction principle is applied during the modeling of the Order Process.
  • Consider the execution of activity Fill Out Order Form by the AristaFlow Test Client. Which run-time artifacts are related to this activity?
  • Describe the ad-hoc change applied to a particular instance of the Order Process. Why has this ad-hoc change become necessary and on which adaptation pattern (cf. Chapter 7) is it based? Explain how and why activity states and worklists must be also adapted in the given context.
  • Explain how the ad-hoc instance change can be used to evolve the process model at the type level?




15.2. AristaFlow Components and Features

Visit the book's website and download the screencasts demonstrating the different applications, components and features of the AristaFlow BPM Suite. Play each of these screencasts to learn more about how these components work.


15.3. Exploring the AristaFlow BPM Suite

The AristaFlow BPM Suite is provided free of charge to universities for research and educational purposes. Please visit the book's website for more information on this topic and on how to download the software. Furthermore, on the book's website several exercises related to the use of the AristaFlow BPM Suite are provided.


15.4. Incorrect Process Model

Using the AristaFlow Process Template Editor, correct and sound, block-structured process models can be constructed. Obviously, the process model depicted in Fig. 15.16 was not modeled with this editor and contains several flaws.

  • Which flaws do the control and data flow schema contain? Explain the different kinds of errors and correct them if possible.
  • Try to create this process model using the AristaFlow Process Template Editor. How does the correctness-by-construction principle implemented by this editor contribute to avoid process model flaws?


15.5. Activity Templates

What is an activity template? Discuss benefits of the encapsulation it provides.

Fig. 15.16 Incorrect Process Model

14.1. Properties of Object-aware Processes

Describe how the major characteristics of object-aware processes (i.e., object behavior, object interactions, data-driven execution, variable activity granularity, and integrated access to business processes and business data) have been realized in the PHILharmonicFlows framework


14.2. Micro Processes

A micro process type captures the behavior of a specific object type:

  • Define a micro process type for the object type Application depicted in Fig. 14.3.
  • Explain the relationship between micro step and object attribute, and the relationship between micro step and micro state?
  • Discuss the benefits resulting from the introduction of states at the micro process level?
  • Explain the difference between explicit and implicit external micro transitions. Why are both kinds of external micro transitions needed?

Fig. 14.3 Exam ple of a Data Model


14.3. Micro Processes vs. Case Handling

What are commonalities and differences between a micro process type and a case type (cf. Chapter 13)?


14.4. Process and Data Integration

  • What kind of information is captured in an authorization table?
  • Describe how an initial authorization table can be automatically derived? Which information is required in this context?
  • When does an automatically created authorization table have to be adjusted?
  • Which role do optional activities play in the context of process and data authorization?


14.5. Form-based Activities

  • Why is the manual design and implementation of form-based activities a tedious and time-consuming task in the context of object-aware processes?
  • How is the internal flow logic of a form-based activity captured in a micro process?
  • Based on which information can form-based activities be automatically generated?


14.6. Macro Processes

  • How do macro processes ease the monitoring of large process structures?
  • How is the relation between a macro process and a corresponding data model?
  • Discuss the different kinds of macro transitions and their semantics?

13.1. Activity-centric Processes

Discuss limitations of activity-centric PAIS in respect to the integration of processes and data.


13.2. Case Handling Concepts

  • What is the primary driver for the progress of a case during run-time?
  • Case handling distinguishes between accessible and mandatory data objects of a task. Explain the difference between these two data object sets.
  • A case type comprises a set of tasks (i.e., activities) and precedence relations between them. In which way do these tasks differ from activities known from pre-specified process models in activity-centric PAISs (cf. Chapter 4)?
  • Explain in your own words the meaning of the execute, skip and redo roles.
  • Discuss weaknesses of the case handling paradigm in respect to concurrent task execution and data access control.


13.2. Case Type

Consider the case type from Fig. 13.9. It comprises four tasks, six data objects, and three forms. Answer the following questions:

  • When is task A considered as finished? What does this mean in respect to the succeeding task B?
  • Assume that the user filling in Form 1 sets values for data objects x1, x2, and x3, and then closes the form. How will the execution of the case proceed afterwards?
  • Assume that both B and A are enabled, and that values for data objects x1 and x2 have been set so far. Furthermore, assume that a user holding the skip role for B wants to skip this task. How will the execution of the case proceed afterwards?
  • Will all data objects have an assigned value when a case of the depicted case type completes?
  • Assume that tasks A and B are both finished and task C is currently enabled. Furthermore, assume that a user holding the redo role for A wants to redo this task. How is this operation accomplished in the given scenario and how will the execution of the case proceed afterwards?


Fig. 13.9 Example of a Case Type


13.4. Characteristics of Object-aware Processes

  • The modeling and execution of object-aware processes is based on two levels of granularity. Describe these two levels and discuss their differences?
  • How may object behavior be realized using data-driven execution?
  • Why are explicit user commitments useful in the context of data-driven execution?
  • Explain the differences between instance-specific, context-sensitive and batch activities. Give examples for their use.


13.5. Object-aware Processes

Give examples of object-aware business processes other than the ones discussed in this chapter.


13.6. Traditional PAIS vs. Object-aware PAIS

Consider Fig. 13.8 and explain it in your own words.

Fig. 13.8 Traditional PAIS (Left) and Object-aware PAIS (Right)

12.1. Specifying Constraint-based Process Models: 

Denali National Park offers visitors a wide range of outdoor opportunities. Table 12.3 depicts the activities which are available for planning your trip to Denali.

Table 12.3 Activities
Visit Visitor Center Short Hike
Flightseeing White Water Rafting
Full Day Rafting 4-Hour Scenic Rafting
Obtain Permit Backpacking
Take Bus from Wonderlake Take Bus to Wonderlake
Bus Tour Wonderlake (Roundtrip) Denali Natural History Tour

 When planning the trip the following constraints need to be considered:

  • All activities except for Visit Visitor Center can be executed at most once.
  • Only one of the following activities can be executed: White Water Rafting, Full Day Rafting or 4-Hour Scenic Rafting.
  • Backpacking requires a permit.
  • Only one of the two activities Denali Natural History Tour and Bus Tour Wonderlake (Roundtrip) may be executed.
  • Since activity Backpacking starts at Wonderlake you need to take the Bus to Wonderlakedirectly before performing that activity. Directly after the hike you have to take the Bus from Wonderlake to get back.

Create a constraint-based process model which correctly reflects the above described constraints. For working on this exercise you can use the DecSerFlow Modeler of the Cheetah platform which you can download from the book web site.

12.2. Understanding Constraint-based Process Models (1): 

Fig. 2.3 depicts a constraint-based process model of how to treat fractures,

  • Trace <Examine Patient,Prescribe Medication, Perform Sling> is supported.
  • If there is activity Prescribe Fixation in a trace there must be Perform X-ray before.
  • Trace <Examine Patient, Prescribe Medication, Perform Sling, Prescribe Medication, Prescribe Fixation> is supported.
  • At any point during process execution Prescribe Medication can be executed; i.e., for every process instance I in state Running,Prescribe Medication is always enabled.
  • Trace <Examine Patient, Perform X-ray, Perform Sling, Prescribe Fixation, Perform Surgery> is supported.

Fig. 12.3 Choice Constraints


12.3. Understanding Constraint-based Process Models (2): 

Fig. 12.24 depicts a constraint-based process model consisting of six activities and ten constraints. Which of the following statements are true?

Fig. 12.24 Constraint-based Process Model S1

  • If C occurs in a trace, it must be directly preceded by B.
  • Trace <F,A,B,C,F> is supported by S1.
  • Trace <A,B,D,E,A,A> is supported by S1.
  • At any point during process execution A can be executed, i.e., for every process instanceI in state Running, A is always enabled.
  • The number of occurrences for Dis greater or equal the number of occurrences for E in every complete trace.
  • The number of occurrences for A is greater or equal than the number of occurrences for F in every complete trace.
  • If there is a C, a trace must not contain an E.


12.4. Understanding Constraint-based Process Models (3): 

Fig. 12.25 depicts a constraint-based process model consisting of seven activities and twelve constraints. Which of the following statements are true?

  • Trace <R,D,B> is supported by S2.
  • If there is a N there must not be an F afterwards.
  • Trace <R,P,F,K,F> is supported by S2.
  • At any point during process execution R can be executed; i.e., for every process instance I in state Running, R is always enabled.
  • The number of occurrences of R is greater or equal the number of occurrences of B in every complete trace.
  • Trace <R,B,K,D,N> is supported by S2.


Fig. 12.25 Constraint-based Process Model S2


12.5. Constraint-based and Pre-specified Process Models (1):

  • For the constraint-based process model from Fig. 12.26 create a pre-specified process model showing the same behavior.
  • Compare pre-specified and constraint-based process models. Describe commonalities and differences as well as advantages and disadvantages of the different approaches.

12-26Fig. 12.26 Constraint-based Process Model S3


12.6. Evolving Constraint-based Process Models Supported by Test-driven Modeling: 

To get some hands-on experience on how to evolve a constraint-based process model supported by Test-driven Modeling visit the book website and follow the instructions related to this exercise. Given an initial constraint-based process model and a list of requirements you will be asked to conduct a list of changes to the model.

11.1. Decision Deferral Patterns

Compare the different decision deferral patterns described in this chapter. Describe their advantages and disadvantages and give examples of their use.


11.2. Addressing Flexibility Needs with Decision Deferral Patterns

Exercise 3.1 describes the check-in and boarding procedures from the perspective of travelers Tom and Tina Traveler. When reading the two scenarios you will see that, though the check-in and boarding procedures of both Tom and Tina are similar, there are many differences in the exact course of action.

  • How could this process be modeled using decision deferral patterns?
  • Which of the decision deferral patterns do you think are most useful in this context?
  • Would it make sense to combine a pre-specified process model with decision deferral patterns?
Monday, 29 April 2013 02:46

Chapter 10 - Business Process Compliance

10.1. Modeling Compliance Rule Graphs

Assume that a manufacturing company is running several order-to-delivery processes that are frequently changed. In particular these processes must obey compliance rules c1, c2, c3, and c4 as depicted in Table 10.4. Assume further that all order-to-delivery process models are built based on the activities from Table 10.3.

Table 10.3 Activities
Receive Order Conclude Shipping Insurance
Ship Goods Decline Order
Process Order Enable Tracking
Send invoice Buy Components
Confirm Order Produce Goods


Table 10.4 Compliance rules for order-to-delivery processes
c1 Before goods can be produced, components have to be bought.
c2 If an order is confirmed, it must have been received and processed before. Furthermore, once confirmed an order must not be declined afterwards. Conversely, for a declined order no confirmation is possible any longer.
c3 After the production of goods and before shipping them, a shipping insurance must be concluded.
c4 An invoice must be sent and tracking should be enabled after shipping the goods.

Model compliance rules c1, c2, c3, and c4 based on CRGs and the activities from Table 10.3.

10.2. Understanding Compliance Rules

Consider the following three execution traces σ1, σ2, and σ3:

σ1 = < A, B, C, D, E, F, G >

σ2 = < A, B, C, D, A, E, B, D >

σ3 = < A, G, C, E, D, B, C, A, G, F >

  • LTL-based Compliance Rules. Are the execution traces σ1, σ2, and σ3 compliant with the following LTL-based compliance rules c1, c2, c3, and c4?

c1: G(A ⇒ F B)

c2: G(A ⇒ ((¬D)U C))

c3: ((¬B) U E) ⇒ G(C ⇒ F E)

c4: G (B ⇒ (((G ¬E)∧(F F)) ⇒ ((¬D) U G)))

  • Compliance Rule Graphs. Are execution traces σ1, σ2, and σ3 compliant with the compliance rules c1, c2, c3, and c4 from Figure 10.13?

Fig. 10.13 Compliance Rule Graphs

  • Comparing LTL-based compliance rules with Compliance Rule Graphs. Compare each of the LTL-based compliance rules c1, c2, c3, and c4 with the corresponding compliance rule from Figure 10.13. Do both express the same?


10.3. Ensuring Compliance along the Process lifecycle

Consider the pre-specified process model S1 from Figure 10.14 and the related compliance rules from Figure 10.15.

Fig. 10.14 Pre-Specified Process Model S1

  • Classify the compliance of S1 with the compliance rules c1, c2, c3, and c4 from Figure 10.15 based on Definition 10.4.

Fig. 10.15 Compliance Rules Affecting S1

  • Classify the compliance of the following process instances with the given compliance rules from Figure 10.15 based on Definition 10.8.

I1 = (S1, σ1) with σ1 = < V, Y, T, X >

I2 = (S1, σ2) with σ2 = < V, U, Y >

I3 = (S1, σ3) with σ3 = < X, U, Z >

I4 = (S1, σ4) with σ4 = < X, U, Y, Z, S, W >

  • Classify the persistence of each curable violation based on Definition 10.6.


10.4. Process Change and Process Compliance

Consider the pre-specified process model S2 from Figure 10.16. Further consider related compliance rules from Figure 10.17 as well as the two changes of S2 depicted in Figure 10.18.

Fig. 10.16 Pre-Specified Process Model S2

  • Classify the compliance of process model S2 with the compliance rules from Figure 10.17 based on Definition 10.4.
  • Classify the compliance of process instances I1, I2, and I3 with the compliance rules from Figure 10.15 based on Definition 10.8.

I1 = (S2, < A, D, A, D, C, B >)

Fig. 10.17 Compliance Rules affecting S2 

I2 = (S2, < E, D, A, C >)

I3 = (S2, < E, D, C >)

  • Classify the persistence of each curable violation based on Definition 10.6.

Fig. 10.18 Changes Δ1 and Δ2 of the Pre-Specified Process Model S2

  • Consider the application of changes Δ1 and Δ2 to S2 separately and in conjunction with each other. Do the three changes meet compliance rules c1, c2, c3, and c4 according to Definition 10.7?
  • First, decide for each of the three process instances I1, I2, and I3 whether or not the changes Δ1 and Δ2 (cf. Figure 10.18) may be applied separately or commonly to it. Second, by using Definition 10.7, for each possible application of these changes to the respective instances, decide whether or not it meets the compliance rules c1, c2, c3, and c4.

9.1. Similarities and Differences between Ad-hoc Changes and Propagated Type Changes

Both the ad-hoc change of a single process instance, and the propagation of a process type change to corresponding process instances, constitute dynamic process changes. Discuss their commonalities and differences.


9.2. Process Model Evolution and Instance Migration

Fig. 9.23 shows the evolution of process model S: Activity I is deleted and activity E is serially inserted between activities B and F, resulting in process model S'. Consider now process instances I1, I2, and I3 running on S as depicted on the left-hand side of Fig. 9.24. For each of these instances check whether or not it may migrate to the new process model S' presuming state compliance as a basic corrections notion. If Ik migrates to S', draw the process instance and its state resulting from this migration (use the templates on the right hand-side of Fig. 9.24 for this). Otherwise, give a reason why migration is not possible.

Fig. 9.23 Evolution of a Process Model


9.3. Conflicting Changes at the Process Type and Process Instance Level

Consider the evolution of process model S to S' as depicted in Fig. 9.25A: a control dependency is added indicating that activity D needs to be completed before activity B may be enabled. Furthermore consider the two process instances I1 and I2 shown in Fig. 9.25B. Both I1 and I2 were derived from S, but are now running on instance-specific process models SI1 and SI2, respectively, due to previous ad-hoc changes. For example, SI1 was derived from S by adding activity X after activity A and before activities B and D.

To which of the two process instances may the process type change be propagated? Give an explanation referring to Definition 9.3.


9.4 Disjoint and Overlapping Process Type and Process Instance Changes

Consider the evolution of process model S to S' as depicted in Fig. 9.26A: Activity C is deleted (leading to the concomitant deletion of the two gateway nodes) and activities X between A and B) and Y(between B and D) are added.

  • Consider the unbiased process instances I1 and I2 from Fig. 9.26B that were created from S. For each process instance decide whether it may migrate to S'.Draw the resulting process instance graph if migration is possible.
  • Consider the biased process instances I3, I4, and I5 from Fig. 9.26C which were created from S. For each of these process instances categorize its instance-specific bias in relation to the process type change τt depicted in Fig. 9.26A. Decide whether or not the respective process instance may be migrated to the new process model version. If migration is possible, provide the process instance graph and instance bias resulting afterwards.

Fig. 9.24 Migration of Related Process Instances

Fig. 9.25 Evolution of a Process Model and Related Biased Process Instances


9.5. Coping with Non-compliant Process Instances

Fig. 9.26 Evolution of a Process Model and Related Process Instances


  • Discuss the pros and cons of the five migration strategies suggested in the context of non-compliant process instances (cf. Section 9.4).
  • Consider the process model evolution from S to S' as depicted in Fig. 9.4 and the related process instance I3. In the given scenario, I3 is non-compliant with S' and is therefore not directly migratable to S'. Which of the five migration strategies can be applied in the given context in order to relink I3 to S' in the end, i.e., to migrate I3 to S', while preserving the soundness of I3? For each applicable migration strategy show the result after the migration of I3.

Fig. 9.4 Controlled Migration of Process Instances


9.6 Process Model Evolution versus Process Model Refactorings

Compare process model evolution and process model refactoring. Discuss commonalities and differences.


9.7 Process Model Smells and Process Model Refactorings

Consider the process model depicted in Fig. 9.27. What process model smells can you identify in this model? How would you refactor the process model to improve the quality of the model? Justify your proposal.

Fig. 9.27 A Process Model Containing Process Model Smells

8.1. Execution and Change Logs

Discuss why both execution and change logs are needed in adaptive PAISs.


8.2. Mining Flexible Processes

Download the execution log file used in Section 8.2 as well as the original process model from the book website. To work on this exercise you need the process mining tool ProM which can be obtained from To familiarize yourself with ProM check out the tutorial (see the link on the book website). Having obtained enough insights into ProM try to reproduce the analyses described in Section 8.2.


8.3. Commutativity of Process Changes and Change Mining

Give examples of commutative and non-commutative process changes. Why does the utilization of commutativity among change operations contribute to more meaningful and compact change process models?


8.4. Mining Change Logs

Consider the first six process instances depicted in Fig. 8.7 and derive a change process model for them (i.e., ignore the last three process instances in your analysis).

Fig. 8.7 Changed Process Instances and Related Change Log Instances


8.5. Process Variant Mining

Discuss potential benefits of process variant mining from the perspective of a process engineer?


8.6. Process Variant vs. Change Mining

Compare process change mining with process variant mining. Discuss commonalities and differences.

7.1. Adaptation Patterns versus Change Primitives

Discuss the use of adaptation patterns versus change primitives.


7.2. Modifying Business Processes

Cheetah is a tool that provides support for defining and changing BPMN process models based on either change primitives or high-level adaptation patterns. A link for downloading the Cheetah platform can be found at this book's website.

  • Perform the modification task described in Section 7.3.3 with change primitives using the Cheetah platform.
  • Perform the modification task described in Section 7.3.3 with adaptation patterns using the Cheetah platform.


7.3. Modeling and Modifying Business Processes

In the following the pre-take-off process for a general aviation flight under visual flight rules (VFR) is described. Perform the modeling and modification tasks described in the following with both change primitives and adaptation patterns using Cheetah (cf. Excercise 7.2).

Modeling Task: Before conducting a general aviation flight the pilot first has to perform a weather check. Optionally, she can file the flight plan. This is followed by a preflight inspection of the airplane. For large airports the pilot calls clearance delivery to get the engine start clearance. If an airport has a tower, the pilot has to contact ground to get taxi clearance, otherwise she has to announce taxiing. This is followed by taxiing to the run-up area and then run-up the engine to ensure that the airplane is ready for the flight. If the airport has a tower, it is contaced to get take-off clearance, otherwise take-off intentions have to be announced. Finally, the pre take-off process finishes with the take-off of the airplane.

Modification Task 1: If the weather conditions are below safety limits, no flight can be conducted and the process has to be cancelled.

Modification Task 2: During the pre-flight inspections the pilot can detect problems with the airplane. If the problems are severe the flight is immediately cancelled. If the airplane can move under its own power it then taxis to the repair station. Alternatively, the airplane is either towed to the repair station or a mechanician comes to the airplane. Depending on how long the repair activities take, the flight is cancelled, or restarted with a second check of the weather conditions, or proceeds with the pre-flight airplane activity.

Modification Task 3: Problems with the airplane can also be detected during the run-up checks conducted by the pilot. In this case the pilot has to contact ground and ask for taxiing clearance to taxi back to the repair station, assuming that the airplane can still move under its own power. If the latter is not possible, the pilot informs ground about the need for being towed to the repair station. If the airport does not have a tower and the airplane can move under its own power, the pilot announces taxiing back instead. Depending on how long the repair activity takes, the flight is cancelled, or the flight is restarted with a weather check, or the pilot annotates the flightplane before proceeding with the pre-flight airplane activity.


7.4. Applying Ad-hoc Changes to a Process Instance

Consider the process instance depicted in Fig. 7.32. Which of the following ad-hoc changes can be applied to I and which not? Explain your answer and draw the resulting process instance (i.e., perform the required model transformations and state adaptations) if the ad-hoc change is possible!

  • Serially insert activity X between node AND-Split and activity H.
  • Delete activity H.
  • Delete activity B.
  • Swap activities D and E; i.e., move E to the position between C and D.
  • Insert activity Y in parallel with activity C.
  • Move activity G to the position between activities C and D.

Fig. 7.32 Process Instance to be Adapted

7.5. Applying Ad-hoc Changes to a Process Instance containing a Loop

Consider process instance I and its (partial) execution trace depicted in Fig. 7.33. Assume that an activity Perform Allergy Test shall be inserted in parallel with activity Deliver Drug in the model of I

  • Determine the loop-purged execution trace of I
  • Is I(relaxed) state compliant with the process model resulting from this ad-hoc change? Explain your answer.
  • Explain why the described ad-hoc change can be applied to I and draw the process instance resulting from this.
  • Assume that the conducted ad-hoc change is loop-temporary (cf. Section 7.8). How does the process instance look like when the depicted loop enters its next iteration during run-time?

Fig. 7.33 A Process Instance Containing a Loop


7.6. Adaptation Patterns

In this chapter only a subset of the adaptation patterns presented in [353] has been introduced. 

  • To learn more about other adaptation patterns study [353] and visit the book website.
  • Have a look at [353]. Which of the evaluated PAISs support adaptation patterns AP1 (Insert Process Fragment) and AP2 (Delete Process Fragment) respectively?

7.7. Change Features

Answer the following questions.

  • One way to control concurrent changes on a process instance is to hold an exclusive lock on this instance during the definition of the ad-hoc change. Why is this approach not applicable in practice?
  • Give an example of an uncontrolled ad-hoc change of a process instance that might affect proper completion of the instance.
  • Which other process model perspectives might have to be adapted when applying the described adaptation patterns to the control flow schema of a process model?
  • Consider the process instance from Fig. 7.3A: Determine a bias and the distance (cf. Definition 7.2) between this process instance and the one from Fig. 7.3B (and Fig. 7.3C respectively) assuming that the depicted change is accomplished with the adaptation patterns described.

Fig. 7.3 A Process Instance and two Examples of Related Ad-hoc Changes

Page 1 of 2

Get the Book!

book cover small

To improve is to change; to be perfect is to change often.

_ Winston Churchill