A Semantically Enriched Framework To Derive Softwa
A Semantically Enriched Framework To Derive Softwa
net/publication/277768017
CITATIONS READS
0 4,071
4 authors:
All content following this page was uploaded by Ahmad Abdel-Aziz Sharieh on 12 January 2016.
ABSTRACT: Service Oriented Architecture (SOA) is becoming the architectural style of choice in many enterprises that
adopt the notion of business process architecture. This suggests the need for a systematic and unified approach to generate
a service model from a given organizational business process architecture. This paper presents a generic framework called
BPAOntoSOA which addresses this requirement. BPAOntoSOA is ontology driven and guided starting from the business pro-
cess architecture and using the quality of service QoSOnto ontology to ensure the proper alignment of the resultant services
with the associated non-functional requirements. It is enriched by an associated domain specific ontology, for example, the
healthcare sector. Also, this framework embodies a service identification process that implements an adapted affinity based
clustering algorithm to enhance the correctness of mapping business functions to services in the resulting service oriented
model.
1. Introduction
The task of identifying services is one of the main activities in developing service oriented models. Errors made during this
identification task can be propagated through to the detailed design and implementation activities. Accordingly, the selection
of an appropriate method for the identification of services is an essential requirement to model service oriented architectures
[3, 5].
The current service identification approaches exhibit some limitations, where the general practice is a manual cat-
egorisation and analysis of the business process in an organization. Current approaches are far from providing an
automated service identification framework, and models proposed for identifying services from business processes
are theoretical in nature. Moreover, most service identification methodologies are limited to the service identification
procedure but ignoring important aspects such as performance metrics and conformance of the identified services
with SOA principles.
Ontologies facilitate interoperability and machine reasoning [5] as they offer the possibility for representing, organising,
and reasoning over complex sets of knowledge that requirement documents usually embody [1, 6]. Consequently, ontolo-
gies seem to offer a good solution to the above mentioned limitations in relation to service identification approaches. In this
paper, we present a generic framework, BPAOntoSOA, to generate a service model from a Business Process Architecture
(BPA), where business processes are modelled using the Business Process Modelling Notation, BPMN. The service model
generation is driven by an ontology-based service identification process. Hence, the framework name indicates the use of
ontologies to start from a BPA, (prefix in the framework name), to generate a service model for a SOA-based system (suffix
in the framework name).
The rest of this paper is organised as follows. Section 2 reviews the key related work in the field of service identification
and semantic approaches for SOA. In Section 3, we reflect on the possible types of ontologies that could be utilised while
engaged both in the service identification process and generating the service model. In Section 4, we build the BPAOnto-
SOA framework for generating a software service oriented model from a given BPA Section 5 demonstrates the proposed
2. Related Work
In this section, we present the most related work to our proposed framework, where we review some of the work done in
service identification as well as semantic approaches building SOA models.
The literature provides a lot of work in service identification approaches, ranging from top-down to bottom-up [13-18]. A
comparison of some of the currently available approaches could be found in [5] where Klose et al proposed a method for the
identification of services from business process models. In their proposed method, functions are implemented as services if
both business potential and technical feasibility have been verified. Klose et al proposed a method for service identification
based on performing three phases: the preparation phase, the service analysis phase and the service categorization phase.
Another recent and related work was conducted by Jamshidi et al [4], where they realised that the key activities that are
needed to construct a quality based service-oriented solution is the identification of its architectural elements with the right
granularity. Accordingly, they proposed a new process to identify and specify enterprise software services along with their
architectural elements.
Non of the above mentioned methods use semantic approaches in identifying services, in our presented framework, an ontology-
based service identification process is used to generate a service model from a Business Process Architecture (BPA).
Related work in the field of ontology-based business process management can be found in the SUPER project [10], where
for example deliverable 3.3 [11] presents approaches to business process querying and process fragment identification. A
method for choosing the formal foundations for the process querying framework is presented, followed by a formal defini-
tion of process fragments, the unit of reuse, etc. Another example from the SUPER project is deliverable 7.2 [12], which
defines the first version of the SUPER architecture, and specifies the ontologies and language standards used for describing
the artefacts in this architecture.
Dobson, Lock and Somerville [5, 2] observed the importance of QoS (Quality of Service) data (i.e. Non functional charac-
teristics) in service-based systems and accordingly they developed QoSOnt as a QoS ontology for Service-centric systems.
This ontology provides a machine understandable QoS vocabulary, which can be useful in service-based systems, in both
static and dynamic cases for implementing design-time tools and service selection at runtime, respectively.
Using QoSOnt in our presented framework, together with a domain ontology that conceptualizes the domain BPA, offer a
good solution to the limitations present in the current service identification approaches, such as the lack of automation and
the ignorance of performance metrics and conformance of the identified services with SOA principles.
BPAOnt ontology is being instantiated in the healthcare domain and is being developed to conceptualize the architectural
elements of the Cancer Care and Registration (CCR) processes, taking into consideration both existing literature and domain
expert feedback. For example, the ontology contains the following:
• business lines such as pharmacy, laboratory, patient administration, registration, nursing, imaging/radiology, clinical deci-
sion support, etc;
• atomic-level functions: all clinical activities that are related to the CCR process such as search patient details, manage pa-
tient details, view patient health record, book an appointment, change an appointment, cancer detection, cancer diagnosis,
pain assessment, treatment, follow-up, etc;
• EBEs such as patient record, appointment, clinical notes, laboratory tests, Imaging tests, clinical decision, test results, etc.
Relations between the atomic-level functions and the EBEs are going to be built using the CRUD functions where for each
subclass being created as an atomic-level function, a relation (either create, read, update or delete) is to be set to all EBEs.
For the ontology to be complete, synonyms for all clinical activities should be provided as well as an indication of whether
an activity is a manual activity or an automated one.
As was previously mentioned, the QoSOnt [1] is a domain independent ontology that was developed by Dobson et al, 2005.
This ontology, which provides a QoS vocabulary for service-oriented systems, will be used to assist in the identification
of candidate services in our proposed framework. This way we can ensure that the identified services satisfy the required
NF characteristics for the services being “SOA-able” (i.e. the services are suitable to be used in a service oriented
architecture).
Steps 1-4 are performed depending on the ontology in the BPAOnt in relation to the given business process architecture.
Each pool is mapped to a business line; each task is mapped to an atomic function and then classified according to its ability
for automation so that manual tasks are neglected. Each task that can be automated will be tagged with the business line it
belongs to, as this piece of information will be required later when generating the software service oriented model.
Another piece of information required for generating the service model is the relation between the identified services, which
can be obtained from the message flows between pools. This is suggested by step 5, where we specify the pairs of interacting
pools and the leading task that starts the message flow for each pair.
Step 6 eliminates redundancy because the same task could be performed in multiple business lines within the same organi-
zation. Steps 7-9 are concerned with creating the CRUD matrix were the resulting functions from step 6 are related to all
essential business entities available in the BPAOnt. Every column in this matrix must have exactly one create operation and
each row must have no conceptual (operational) activities [4]. The affinity clustering algorithm is then applied to the matrix
(step 9) to group functions with strong affinity into candidate services.
The clustering technique used in step 9 is the Elementary business process and business Entity Affinity analysis Technique
(EEAT) by Jamshidi [4]. This technique identifies groups of functions with the right granularity to satisfy low coupling, high
cohesion, and low reuse cost principles for reusable software services [4].
Using the EEAT clustering technique, the tags of the matrix cells have priorities as C>U>D>R. The objective is to deduce
groups of functions and entities that share create and update operations. Grouping together all functions that create and update
the same entities defines non-redundant building blocks (candidate services).
A refinement step is required (step 10) where the QoSOnt ontology is used to evaluate the candidate services against SOA
principles so that each service is best suited for a service oriented architecture. QoSOnt is used also to specify service-level
NFR in the generated service model.
The resulting set of candidate services is then used to generate the respective software service oriented model with the fol-
lowing:
• the set of functions performed by each service;
• the NF requirements for each service;
• the relationships between the services; and
• the business line(s) this services fits into.
For the purposes of validating the proposed framework, BPAOntoSOA will be tested by applying it using a case study in the
healthcare domain and one of the key evaluation procedures will be to evaluate the identified services against the service-
level NFRs in order to satisfy SOA principles.
5. Example
In this section we demonstrate our proposed framework using an example from the Healthcare domain. In this example, we
start with a BPMN model representing one process from the Cancer Care and Registration (CCR) processes in Jordan [21].
We will apply the steps mentioned in the previous section to identify the candidate services from the business process model
using the Ontologies described in section 3. It is certainly more accurate to apply our framework on the whole CCR processes
to identify all services and generate a full service model, but for the purpose of tracing the framework steps we choose the
Patient Reception Process shown in Figure 3 as our business process model.
As can be seen from Figure 3, the patient reception process model contains three pools; Receptionist, Patient and Medical
Records. These pools represent the business lines.
Table 1 shows a list of the identified tasks from the BPMN model grouped according to the business lines, with the manual
tasks marked with a double asterisk. The table also shows the pairs of interacting pools beside each leading task of a mes-
sage flow.
Business Line Identified tasks from the BPMN Model Interacting pools for the corresponding leading
task of a message flow
Receptionist Check if emergency case**
Transfer patient to emergency
Check if patient is diagnosed**
Transfer patient to cancer detection process
Check if patient exist in database
Inform patient to visit medical records** (Receptionist, patient)
Request patient file (Receptionist, medical records)
Check if patient has appointment
Update file
Make appointment (Receptionist, patient)
Transfer patient to treatment or follow-up process
Return patient’s file**
Patient* Visit clinic** (Patient, Receptionist)
Make appointment (Patient, Receptionist)
Visit MR** (Patient, Medical Records)
* Patient is actually not a business line; it is the main actor who starts the process. But for simplicity, we can consider it as a business line.
** Manual task
Table 1. List of tasks identified from the BPMN model and interacting pools
Table 2 shows the CRUD matrix. The rows of the matrix are the list of identified tasks from the BPMN Model after elimi-
nating all manual and redundant tasks. The columns of the matrix are the Essential Business Entities related to the tasks
through the CRUD functions. A cell value is either empty or holds one of the CRUD functions representing the relationship
between a tasks and each of the Essential Business Entities related to it. EBEs and cell values for a specific task are obtained
through querying the BPAOnt ontology for the EBEs and their relations with that task which matches an atomic function or
one of its synonyms.
Having this matrix built, we can now apply the EEAT clustering technique to group together functions and entities that share
the Create and Update operations [4]. The clustered matrix is shows in Table 3.
As can be seen from the clustered matrix, two services can be identified; one is concerned with the patient record, and
the other is concerned with appointments manipulations. From the clustered matrix and all the information stored pre-
viously such as those in Table 1, we can identify the functions that are contained in each service and the interactions
between them, where the patient record manipulations service involves creating a patient record, and other functions
that ends up with updating the patient record, such as registering the patient’s details and transferring a patient, etc,…
the appointment manipulations service involves, in this example, a function that creates an appointment for the patient.
There is a message interaction between the two identified services which contains information about the patient record.
This interaction can be easily recognized as there’s a common business line between the two identified services, which
is Receptionist.
The value of the refinement step (step 10), in evaluating the candidate services against SOA principles can’t be shown here
due to the incompleteness of the example, i.e. only part of the example was used. But its significance appears when applying
the framework on the overall CCR processes, where by using QoSOnt [1] we can check the performance metrics for evaluat-
ing component reusability, coupling and cohesion.
7. References
[1] Dobson, G., Lock, R., Sommerville, I (2005). QoSOnt: a QoS Ontology for Service-Centric Systems” Proc. 31st Eu-
romicro Conf. on Software Engineering and Advanced Applications (SEAA 05) p. 80-87
[2] Dobson, G., Lock, R., Sommerville, I (2005). Quality of Service Requirements Specification using an Ontology”, Proc.
Service-Oriented Computing: Consequences for Engineering Requirements (SOCCER 05) at 13th Int’l Requirements
Engineering Conf. (RE 05).
[3] Inaganti, S., Behara, G (2007). Service Identification: BPM and SOA Handshake, BPTrends, 2007, pp 1-12.
[4] Jamshidi, P. ,Sharifi, M., Mansour, S. (2008). To Establish Enterprise Service Model from Enterprise Business Model,
IEEE International Conference on Services Computing. 93-100.
[5] Klose, K., Knackstedt, R., Beverungen, D. (2007). Identification of Services - A Stakeholder-based Approach to SOA
Development and its Application in the Area of Production Planning, ECIS’07, p. 1802-1814.
Author Biography
Rana Yousef, a PhD student in Software Engineering at the University of the West of England-Bristol. She received her
MSc. in Computer Science from The University of Jordan, where she was a teacher assistant and earned a scholarship
to peruse her PhD study. Her main research interest is in service oriented architectures and specifically in generating
service models for SOA-based systems. To this extent, her PhD research is focused on developing a methodology for
deriving a service model from a BPA.
Mohammed Odeh, Ph.D., leads the Software Engineering Research Group (SERG) in the Centre for Complex and
Cooperative Systems (University of the West of England). He has more than 24 years experience in the field of software
engineering with fourteen years in the banking industry. His research interests are focused on: service oriented software
engineering models and processes, model-based software cost estimation, knowledge and business process driven
requirements engineering with particular interest in bridging the gap between process, information, and knowledge
models. He has over 50 journal, conference and book chapter publications. Dr. Odeh has been supervising a number of
Ph.D. research students with successful completions. Also, he has been a co-investigator on three EU funded projects
and a principal investigator on recent industrial knowledge transfer and research collaboration with Airbus. Dr. Odeh
is the UWE-Bristol lead investigator on the OntoREM project with Airbus.
David Coward, Ph.D., is Head of the Department of Computer Science at the University of the West of England. He
has 30 years experience in Computing and Software Engineering predominantly spent in an academic environment.
He is passionate about teaching software design and programming to novices. His research interests include software
testing, software metrics and cost estimation, and software design. Recently he has supervised Ph.D. students investi-
gating evolutionary software design and cost estimation modelling.