[ Introduction | Contributions | Downloads]

Research Domain

 

In today's world, numerous organisations rely on software systems to run their businesses. The software system must assist the organisation to provide the services or products it offers to its customers. The effectiveness of the software system in achieving these goals depends largely on the degree to which the organization's business is accurately captured in the business model.  A business model is a simplified view (i.e. abstraction) of the business that has to be supported by the software system. An accurate business model can, thus, be considered as the requirements document that is needed for developing a software system to support the organisation's activities.

 

Business process modelling

A central concept used for modelling businesses is the business process. A business process is defined by the community as "a set of one or more linked procedures or activities which collectively realise a business objective or policy goal, normally within the context of an organisational structure defining functional roles and relationships''. A process definition is a description or representation of what a particular business process is intended to do. The process definition, then, is the model that captures those aspects of the business that must be supported by the software system. This thesis is concerned with 1) the modelling of business processes as a means to capture the organisation's activities and 2) the requirements of the software system that supports these activities.




Dependable collaborative business processes with time constraints

Among the infinite number of possible business processes, this thesis targets only a particular set of business processes. The first characteristic that narrows the domain of business processes to investigate is dependability. Other characteristics that further specify the kind of business process are the notions of collaboration and time. Hence, attention here is focused not only on dependable business processes, but also on those that are collaborative and time constrained. Collaborative here means that multiple participants take part throughout the process to achieve. Time-constrained indicates that there exists at least one element in the business process that owns a time-related property. 

Dependability
A dependable business process is one whose failures, i.e. occurrences when the business process misses its goal, are not unacceptably frequent or severe from some particular viewpoint. Business process reinforcement is achieved by following an iterative modelling process aiming at improving the dependability of the business process. Dependability capabilities are achieved by introducing explicit recovery activities into the business process model. As a result, a business process is defined as dependable when it is capable of achieving its business objective completely, as initially promised or partially when encountering situations that would cause the business process to fail. Partially in this context means sufficiently well enough to satisfy the requester's expectations. Situations that may lead a business process to fail range from technological, e.g. the Y2K problem, or financial circumstances, e.g. the sub-prime mortgage crisis, to environmental, e.g. the global greenhouse effect.  All these examples have the common characteristic of forcing changes in the way the business process is being performed. The ability of the business process to tolerate, recover and react to these changes while providing its business objective, defines its dependability.


Collaboration
Nowadays companies often require several people with various skills to provide the services they offer. This requirement imposes the constraint that business processes are composed of multiple participants that collaborate at different stages in the process in order to provide the service or product (i.e. the process' goal). Thus, business process with two or more participants are named collaborative business processes. In this kind of business process, the collaboration is defined by the participants and their interactions. In intra-organisational collaborative business processes, participants represent different units or people within the same organisation. Whereas in cross-organisational collaborative business process each participant represents an entire organisation.

Collaborative business processes are becoming the rule rather than the exception due to the fact that companies try to keep the number of permanent employees to a minimum. Such a requirement has the result that companies rely more and more on outsources, i.e third-party companies that perform some specific activities for the company that contracts them. In companies with this kind of organisation, the collaboration among the participants turns from intra-enterprise to inter-enterprise, which implies not only an increase in the communication among participants, but also a change in the communication pattern employed, i.e. peer-to-peer rather than a centralised server-based service.

Another reason collaborative business processes are becoming more important, is due to intensified globalisation as organisations need to transfer information faster, make decisions quicker, adapt to changing demands, deal with larger pools of international competitors and reduce their cycle times.


Time
Time constraints are different rules expressed in terms of maximums and/or minimums, which are aimed at determining how a particular business process is expected to behave from a temporal viewpoint. A business process is considered as time-constrained when it includes at least one time constraint in its definition.

A time constraint may be set over different elements within the process definition. For example, a time constraint can be used to determine the maximum allowed duration of the overall business process, or just one of the activities performed by a certain participant. Moreover, the (direct and indirect) effects of a time constraint also depend on the element to which it is attached. A time constraint set over an activity only affects the time related to its execution, whereas a time constraint set over a participant indirectly affects all the activities enclosed by the participant, since they are expected to be completed by certain point in time (at the latest).

Time constraints may also be applied over the data a business process requires to achieve its goal. In this case, a time constraint attached to certain data value may be used to determine the validity of its time stamp, in the sense that beyond that point in time the data becomes obsolete.

Depending on the application domain where the business process is engineered, time constraints such as those mentioned may be required by the end-users. However, it is worth noting that the existence of time constraints in a business process may not only be due to user requirements, but may also be due to organisational rules, laws, commitments, policies and standards to which the business process must adhere. Hence, it often arises that time-related information must be included in the process definition.

 


Metamodelling

The particular set of business processes addressed in this thesis is defined by the intersection of the orthogonal dimensions of dependability, collaboration and time. Business processes belonging to this set are referred to as Dependable, Collaborative and Time-Constrained (DCTC) business processes. This thesis is focused on modelling DCTC business processes.

The success of modelling DCTC business processes depends largely on the how close the modelling notation maps to the problem domain. Modelling notations with built-in support for the concerns of the domain of interest not only ease the modelling burden, but also enhance the readabillity and comprehension of the resulting models. It is thus of particular interest to have a domain-specific modelling language (DSML) to describe DCTC business processes.

This thesis adheres to the Model Driven Engineering (MDE) principles, and in particular to the metamodelling technique when addressing the definition of modelling languages. Hence, the notions of meta-model, model compliance, and model transformation are major concerns on which this thesis relies on for its contributions.



Business process validation

Since the business model or process definition may be considered as the requirements document needed to accurately develop the software system, it is crucial to validate whether the business model captures the requirements intended by the customer before progressing in the software development process. Hence, in addition to having the modelling language close to the domain of interest, it is of special interest to have means that allow business analysts and software engineers to check the correctness of the business model with respect to customer's expectations. One way of achieving this is to use a modelling language with an executable semantics. In this manner, any business model can be executed on sample input data, and then its dynamic behaviour can be observed. The observation of the dynamic behaviour of the model may be considered as a simulation of the model based on the sample input data. The customer then, by performing several simulations of the model, can judge whether the business model adequately captures their expectations or not. This procedure for validating business processes is also a concern of this thesis.



Coordinated Atomic Actions

The idea of a dependable business process relies on concepts and principles coming from the dependable computing domain, in particular those features concerned with fault tolerance. Coordinated Atomic Actions is a fault tolerance conceptual framework (CaaFWrk) aimed at designing complex distributed systems consisting of components that can both cooperate and compete amongst themselves. The CaaFWrk unifies the concepts of conversations, originally intended to ensure fault tolerance of cooperative systems and transaction, originally intended to ensure fault tolerance and structuring of the competitive systems.  In addition, it incorporates a concurrent exception handling scheme that provides dependability in distributed and concurrent systems.

CaaFWrk, introduced in the early 90's, has since become a rich and sound set of results, which have been developed by the community. The concepts brought by the CaaFWrk are, for the most part, abstractions of the concepts included in collaborative business processes.  Therefore, this thesis selects CaaFWrk as the foundation for the conceptual framework underpinning the language for modelling DCTC business processes.

 

More in:

 





Last modified: Friday 28 May 2010