Abstract
It is very important to understand system behaviors in collective pattern for each knowledge domain. However, there are structural limitations to represent collective behaviors due to the size of system components and the complexity of their interactions, causing the state explosion problem. Further composition with other systems is mostly impractical due to exponential growth of their size and complexity. This paper presents an abstraction method to model the collective behaviors, based on a new concept of domain engineering: behavior ontology. Firstly, the ontology defines each collective behavior of a system from active ontology. Secondly, the behaviors are formed in a quantifiably abstract lattice, called n:2-Lattice. Thirdly, a lattice can be composed with other lattices based on quantifiably common elements. The composition can be interpreted as behavioral composition, and can reduce all the unnecessary composition not related to the behaviors in the lattices. In order to demonstrate the feasibility of the method, two examples, Emergency Medical Service and Health Care Service systems, are selected and implemented on a Behavior Ontology tool, called PRISM, which has been developed on ADOxx Meta-Modelling Platform.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
There are strong needs to represent system behaviors for each knowledge domain in some collective patterns. However, the needs cannot be easily satisfied due to the structural limitations caused by the considerable size of system components and the complexity of their interactions, generally known as state explosion problem [1]. Further composition with other systems seems to be impractical due to exponential growth of such explosion caused by their size and complexity [2].
In order to overcome these limitations, this paper presents an abstraction method to model the collective behaviors of systems, based on a new concept of domain engineering: behavior ontology [3]. The previous researches have been reported in the literatures [3]. However, the present research in this paper extended the previous researches with other domains and further made composition of the system behaviors possible so that composite collective system behaviors can be constructed for larger and more complex domains. The approach is shown in Fig. 1, as follows:
-
(1)
Firstly, a class hierarchy of a domain is constructed based on active ontology, where all the actors of a domain and their interactions are defined as classes.
-
(2)
Secondly, each collective behavior of the domain is defined in regular expression [4], where each behavior is defined as a sequence of interactions among actors. The behaviors will be presented in a hierarchical order based on their inclusion relations, forming a special lattice, called n:2-Lattice [5].
-
(3)
Thirdly, each behavior is quantifiably abstracted with a notion of cardinality and capacity for actors in behavior. This notion will be used to select appropriate behaviors and their relations from the lattice and to make quantitatively equivalent composition with other lattices.
-
(4)
Fourthly, the abstract behavior lattice, Abstract n:2-Lattice, is constructed.
-
(5)
Finally, two abstract behavior lattices can be composed for common actors with same cardinality and capacity between two lattices. It implies quantitatively equivalent composition of two types of collective behaviors.
In order to demonstrate the feasibility of the approach, Emergency Medical Service (EMS) [3] and Health Care Service (HCS) systems are presented for each steps. The examples show that the method is very effective and efficient to construct a hierarchy of collective behaviors in a lattice and that the composition of two collective behaviors is systematically performed by the composition operation of two lattices. Further, a tool, called PRISM, has been developed on ADOxx Meta-Modelling Platform [6] in order to demonstrate its feasibility and practicality.
This paper is organized as follows. Section 2 presents the approach in steps with an example for both EMS and HCS. Section 3 presents an application of an instance to EMS and HCS examples. Section 4 analyzes the approach and compares it with other approaches. Finally, conclusions and future research will be discussed in Sect. 5.
2 Approach
This section presents each steps of the approach to model collective behaviors for a system.
2.1 Step 1: Active Ontology (AO)
Definition 2.1. Actor (Ac).
Actor is defined as a set of classes, that is, \( Class\,C_{1} , \ldots ,C_{n} \in Ac \). It implies a set of components in a system, and is represented as a set of classes in Active Ontology.
Definition 2.2. Interaction (It).
Interaction is defined as a set of an ordered relation between two actors, that is, \( Interaction\,a_{1} , \ldots ,a_{m} \in It \), where for each interaction \( a_{i} = \left\langle {C_{{i_{s} }} ,C_{{i_{t} }} } \right\rangle_{in} \), \( Class\,C_{{i_{s} }} ,C_{{i_{t} }} \in Ac \). It implies that Ac \( C_{{i_{s} }} \) moves in Ac \( C_{{i_{t} }} \), as an interaction between two actors, as defined in Definition 2.1.
Definition 2.3. Active Ontology (AO).
Active Ontology is defined as \( AO = \left\langle {Ac,It} \right\rangle \), based on Definitions 2.1 and 2.2. It consists of a set of system components as a set of classes and a set of interactions among the classes.
The first step is to design Active Ontology for EMS and HCS services. Active ontology consists of classes and subclasses in the domain, including their interactions.
- A. :
-
Emergency Medical Service (EMS)
EMS service contains four classes: Ambulance (A), Patient (P), and Place (PL). Note that Place contains Location (L) and Hospital (H) as subclasses. Similarly, Hospital includes Bill (Bi) as subclass, too. The system’s elements represent in the left side of Fig. 2.
-
Actors: There are 5 different kinds of actors:
-
(1)
Patient (P): Person to be transported.
-
(2)
Ambulance (A): Actor to deliver object.
-
(3)
Location (L): Place for Patient to be delivered from.
-
(4)
Hospital (H): Place for Patient to be delivered to.
-
(5)
Bill(Bi): Bill received by Patient from Hospital.
-
(1)
-
Interactions: There are 6 kinds of interactions:
-
(1)
\( a_{1} = \left\langle {A,L} \right\rangle_{in} \): Ambulance goes to Location
-
(2)
\( a_{2} = \left\langle {P,A} \right\rangle_{in} \): Patient gets on Ambulance.
-
(3)
\( a_{3} = \left\langle {A,H} \right\rangle_{in} \): Ambulance goes to Hospital.
-
(4)
\( a_{4} = \left\langle {P,A} \right\rangle_{out} \): Patient gets off Ambulance.
-
(5)
\( a_{5} = \left\langle {P,H} \right\rangle_{in} \): Patient goes to Hospital.
-
(6)
\( a_{6} = \left\langle {Bi,P} \right\rangle_{in} \): Hospital sends Bill to Patient.
-
(1)
- B. :
-
Health Care Service (HCS)
This system contains two classes: Customer (C) and Insurance Company (I). And Customer has one subclass: Bill (B). The right side of Fig. 2 shows the relationship between classes and subclass.
-
Actors: There are 3 different kinds of actors:
-
(1)
Customer (C): Person to be insured.
-
(2)
Insurance Company (I): Company to insure.
-
(3)
Bill (Bi): Payment requested by Insurance Company to Customer.
-
(1)
-
Interactions: There are 3 kinds of interactions:
-
(1)
\( a_{1} = \left\langle {C,I} \right\rangle_{in} \): Customer contacts to Insurance Company.
-
(2)
\( a_{2} = \left\langle {Bi,I} \right\rangle_{in} \): Customer sends a Bill to Insurance Company.
-
(3)
\( a_{3} = \left\langle {Bi,I} \right\rangle_{out} \): Insurance Company pays the Bill for Customer.
-
(1)
2.2 Step 2: Regular Behaviors (RB)
Definition 2.4. Regular Behavior (RB).
Regular behavior is defined as a sequence of interactions: \( RB_{\text{i}} = \left\langle {a_{1} , \ldots ,a_{\text{n}} } \right\rangle \), where \( a_{1} , \ldots ,a_{\text{n}} \in A \), by Definition 2.2.
It follows the basic notion of regular expression, i.e., ‘\( ^{ + } \)’ for repetition, ‘|’ for choice, etc. For example, \( \left\langle {a_{1} } \right\rangle^{ + } \) implies that Actor repeats Interaction \( a_{1} \), and \( a_{1} ,\left\langle {a_{2} ,a_{3} ,\left\langle {a_{4} } \right\rangle^{ + } } \right\rangle^{ + } |\left\langle {a_{1} ,a_{2} ,a_{3} ,\left\langle {a_{4} } \right\rangle^{ + } } \right\rangle^{ + } \) implies that Actor performs either \( a_{1} ,\left\langle {a_{2} ,a_{3} ,\left\langle {a_{4} } \right\rangle^{ + } } \right\rangle^{ + } \) or \( \left\langle {a_{1} ,a_{2} ,a_{3} ,\left\langle {a_{4} } \right\rangle^{ + } } \right\rangle^{ + } \) behaviors.
By the definition, each collective behavior is defined as a sequence of interactions from step 1. In order to quantify the behaviors, all behaviors are divided into two kinds of behaviors: the one with one main actor and the other with more than one actors. In the other words, there are different views by different actors. For example, in EMS there are four kind of actors, represented as B(L, A, H, P). Then, there are two behaviors, represented as B(n, 1, n, n) for 1 Ambulance and B(n, n, n, n) for n Ambulances. Similarly to B(C, I) for HCS, B(1, n) for 1 Customer and B(n, n) for n Customer.
- A. :
-
EMS for B (n, 1, n, n)
There are total 18 behaviors possible and are defined in regular expression as follows:
-
(1)
\( RB_{1} = \left\langle {a_{1} ,a_{2} ,a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle \): An Ambulance goes to a Location, gets a Patient on, goes to a Hospital, gets the patient off, who goes to the hospital, and the hospital sends a Bill to the patient.
-
(2)
\( RB_{2} = \left\langle {a_{1} ,a_{2} ,a_{3} ,a_{4} ,a_{5} , \left\langle {a_{6} } \right\rangle^{ + } } \right\rangle \): An Ambulance goes to a Location, gets a Patient on, goes to a Hospital, gets the patient off, who goes to the hospital, and the hospital sends number of Bills to the patient.
-
(3)
\( RB_{3} = \left\langle {a_{1} ,a_{2} ,a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } \): A repeating behavior of B1.
-
(4)
\( RB_{4} = \left\langle {a_{1} ,a_{2} ,a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } \): A repeating behavior of B2.
-
(5)
\( RB_{5} = \left\langle {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } ,a_{3} ,\left\langle {a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to a Location, gets Patients on, goes to a Hospital, gets the patients off, who go to the hospital, and the hospital sends a Bill to each patient. And it repeats itself.
-
(6)
\( RB_{6} = \left\langle {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } ,a_{3} ,\left\langle {a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to a Location, gets Patients on, goes to a Hospital, gets the patients off, which go to the hospital, and the hospital sends Bills to each patient. And it repeats itself.
-
(7)
\( RB_{7} = \left\langle {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } , \left\langle {a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to a Location, gets Patients on, goes to Hospitals, to get some of the patients off until all the patients off, each of whose groups goes into its hospital, and the hospital sends Bill to each patient. And it repeats itself.
-
(8)
\( RB_{8} = \left\langle {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } , \left\langle {a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to a Location, gets Patients on, goes to Hospitals, to get some of the patients off until all the patients off, each of whose groups goes into its hospital, and the hospital sends Bills to each Patient. And it repeats itself.
-
(9)
\( RB_{9} = \left\langle {\begin{array}{*{20}c} {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } ,} \\ { a_{3} ,\left\langle {a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } |\left\langle {a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of B5, B7.
-
(10)
\( RB_{10} = \left\langle {\begin{array}{*{20}c} {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } ,} \\ {a_{3} ,\left\langle {a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } | \left\langle {a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of RB6, RB8.
-
(11)
\( RB_{11} = \left\langle {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } ,\left\langle {a_{3} ,a_{4} ,a_{5} ,a} \right\rangle_{6}^{ + } } \right\rangle^{ + } \): An Ambulance goes to Locations, gets Patients on, goes to a Hospital, gets the patients off, who go to the hospital, and the hospital sends Bill to each Patient. And it repeats itself.
-
(12)
\( RB_{12} = \left\langle {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } , \left\langle {a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to Locations, gets Patients on, goes to Hospitals, to get some of the patients off until all the patients off, each of whose groups goes into its hospital, and the hospital sends Bill to each patient. And it repeats itself.
-
(13)
\( RB_{13} = \left\langle {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } ,a_{3} ,\left\langle {a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to Locations, gets Patients on, goes to a Hospital, gets the patients off, which go to the hospital, and the hospital sends Bills to each Patient. And it repeats itself.
-
(14)
\( RB_{14} = \left\langle {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } , \left\langle {a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \right\rangle^{ + } \): An Ambulance goes to Locations, gets Patients on, goes to Hospitals, to get some of the patients off until all the patients off, each of whose groups goes into its hospitals, and the hospital send Bills to each Patient. And it repeats itself.
-
(15)
\( RB_{15} = \left\langle {\begin{array}{*{20}c} {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } ,} \\ { a_{3} ,\left\langle {a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } | \left\langle {a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of B11, B12.
-
(16)
\( RB_{16} = \left\langle {\begin{array}{*{20}c} {\left\langle {a_{1} ,a_{2} } \right\rangle^{ + } , } \\ {a_{3} ,\left\langle {a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } | \left\langle {a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of B13, B14.
-
(17)
\( RB_{17} = \left\langle {\begin{array}{*{20}c} {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } | \left\langle {a_{1} ,a_{2} } \right\rangle^{ + } ,} \\ { a_{3} ,\left\langle {a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } | \left\langle {a_{3} ,a_{4} ,a_{5} ,a_{6} } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of B9, B15.
-
(18)
\( RB_{18} = \left\langle { \begin{array}{*{20}c} {a_{1} ,\left\langle {a_{2} } \right\rangle^{ + } | \left\langle {a_{1} ,a_{2} } \right\rangle^{ + } ,} \\ { a_{3} ,\left\langle {a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } | \left\langle {a_{3} ,a_{4} ,a_{5} ,\left\langle {a_{6} } \right\rangle^{ + } } \right\rangle^{ + } } \\ \end{array} } \right\rangle^{ + } \): A repeating behavior of B10, B16.
- B. :
-
HCS for B (1, n)
There are total 4 behaviors possible and are defined in regular expression as follows:
-
(1)
\( RB_{1} = \left\langle {a_{1} ,a_{2} ,a_{3} } \right\rangle \): A customer calls to an Insurance Company, then sends a Bill to, and Insurance Company pays the Bill.
-
(2)
\( RB_{2} = \left\langle {a_{1} ,\left\langle {a_{2} ,a_{3} } \right\rangle^{ + } } \right\rangle^{ + } \): A customer calls to an Insurance Company, then sends some Bills to, and Insurance Company pays the Bills.
-
(3)
\( RB_{3} = \left\langle {\left\langle {a_{1} ,a_{2} ,a_{3} } \right\rangle^{ + } } \right\rangle^{ + } \): A customer calls to an Insurance Company, then sends a Bill to, and Insurance Company pays the Bill. And it repeats itself
-
(4)
\( RB_{4} = \left\langle {a_{1} ,\left\langle {a_{2} ,a_{3} } \right\rangle^{ + } | \left\langle {a_{1} ,a_{2} ,a_{3} } \right\rangle^{ + } } \right\rangle^{ + } \): A repeating behavior of B2, B3.
Note that regular behaviors for EMS B(n. 1, n, n) and HCS B(1, n) are presented here due to the size of the example. However similar approach can be made for n actors.
2.3 Step 3: Abstract Behaviors (AB)
In the second step, the regular behaviors from Step 2 are abstracted with respect to a number of actors and their capacity as follows:
-
Cardinality: The number of actors in behavior.
-
Capacity: The Capability of actor in behavior.
Definition 2.5. Abstract Behaviors (AB).
Abstract behavior is defined as a tuple of actors with their cardinality and capacity: \( AB_{i} \left( {A_{{\left\langle {o_{1} , \ldots ,o_{n} } \right\rangle }}^{\left\langle x \right\rangle } ,B_{{\left\langle {o_{1} , \ldots ,o_{n} } \right\rangle }}^{\left\langle x \right\rangle } , \ldots ,Z_{{\left\langle {o_{1} , \ldots ,o_{n} } \right\rangle }}^{{\left\langle {\text{x}} \right\rangle }} } \right) \), where \( A,B, \ldots ,Z \in Ac \) by Definition 2.1, the cardinality and capacity of each actor are x and \( \left\langle {o_{1} , \ldots ,o_{n} } \right\rangle \), respectively. Further AB implies abstraction of these behaviors.
- A. :
-
EMS for B (n, 1, n, n)
18 regular behaviors are abstracted as shown in Fig. 3, by Definition 2.5. For example, the cardinality and capacity of \( A_{{\left\langle {1,2,2} \right\rangle }}^{{\left\langle {3 } \right\rangle }} \), \( \left\langle 3 \right\rangle \) and \( \left\langle {1,2,2} \right\rangle \) represent the number of Ambulances and the number of Patients for each Ambulance, respectively.
- B. :
-
HCS for B (1, n)
4 regular behaviors are abstracted in the lattice as shown in Fig. 4.
2.4 Step 4: Abstract Behavior Lattice (ABL)
Definition 2.6. Inclusion Relations.
Inclusion Relations is defined as a relation two behaviors of Def 2.4: \( RB_{i} { \sqsubseteq }RB_{j} \), where \( {\text{RB}}_{i} = \left\langle {a_{{i_{1} }} , \ldots ,a_{{i_{n} }} } \right\rangle \), \( RB_{j} = \left\langle {a_{{j_{1} }} , \ldots ,a_{{j_{m} }} } \right\rangle \), and \( \left\langle {a_{{i_{1} }} , \ldots ,a_{{i_{n} }} } \right\rangle \). is a sub-sequence of \( \left\langle {a_{{j_{1} }} , \ldots ,a_{{j_{m} }} } \right\rangle \). Further, if \( RB_{i} { \sqsubseteq }RB_{j} \), then \( AB_{i} { \sqsubseteq }AB_{j} \), where \( {\text{A}}B_{i} \) and \( AB_{j} \) are the abstract behaviors of \( RB_{i} \) and \( RB_{j} \).
Definition 2.7. Abstract Behavior Lattice (ABL).
Abstract Behavior Lattice is defined a lattice constructed by Definition 2.5 on abstract behaviors
Lattice can be constructed from Step 3, based on the inclusion relations among behaviors. Here we present the lattices for EMS and HSC examples.
- A. :
-
EMS for B (n, 1, n, n) and HCS for B (1, n)
The Figs. 3 and 4 show the inclusion relations in EMS for B(n, 1, n, n) and HCS for B(1, n) with arrows, from which the abstract behavior lattices for EMS B(n, 1, n, n) and HCS B(1, n) are constructed as shown in Fig. 5. Note that the EMS lattices are shown in the left side of Fig. 5, and the HCS lattices in the right side of the figure.
2.5 Step 5: Composition
The last step is to make composition of two lattices for EMS and HCS. The steps of the composition are as follows:
-
(1)
Firstly, the common actors between two abstract behavior lattices have to be selected. For the example, Patient from EMS is defined to be a common actor with Customer from HCS.
-
(2)
Secondly, cardinality of the composition has to be selected for the common actors. For the example, there are two cases: one for the single cardinality and the other for the plural cardinality.
- A. :
-
Composition for \( \varvec{EMS}\left( {\varvec{L},\varvec{A},\varvec{H},\varvec{P}} \right) \otimes_{{\varvec{EMS}\left( \varvec{P} \right) = \varvec{HCS}\left( \varvec{C} \right)\& \left| \varvec{P} \right| = \left| \varvec{C} \right| = 1}} \varvec{HCS}\left( {\varvec{C},\varvec{I}} \right) \)
This is the first case of the composition for EMS and HCS with respect to Patient of Cardinality 1: \( EMS\left( {L,A,H,P} \right) \otimes_{EMS\left( P \right) = HCS\left( C \right)\& \left| P \right| = \left| C \right| = 1} HCS\left( {C,I} \right) \). \( EMS\left( P \right) = HCS\left( C \right) \) implies that Patient from EMS is defined to be a common actor with Customer from HCS, and \( \left| P \right| = \left| C \right| = 1 \) implies that their cardinality is singular. The two top lattices of Fig. 5 shows the possible composition for EMS and HCS, and the top lattice of Fig. 6 shows that result of the composition: \( \left( {EMS\left( {L,A,H,P} \right) \otimes_{EMS\left( P \right) = HCS\left( C \right)\& \left| P \right| = \left| C \right| = 1} HCS\left( {C,I} \right)} \right)(L,A,H,P = C,I)_{\left| P \right| = \left| C \right| = 1} = B\left( {n,n,n,{\mathbf{1}},n} \right) \). There are total 4 possible collective behaviors, which is the half of the total composition with the same cardinality, that is, 8 behaviors, 2 from EMS by 4 from HCS, and is 1/18 of the total composition with the different cardinality, that is 72 behaviors, 18 from EMS by 4 from HCS.
- B. :
-
Composition for \( \varvec{EMS}\left( {\varvec{L},\varvec{A},\varvec{H},\varvec{P}} \right) \otimes_{{\varvec{EMS}\left( \varvec{P} \right) = \varvec{HCS}\left( \varvec{C} \right)\& \left| \varvec{P} \right| = \left| \varvec{C} \right| = \varvec{n}}} \varvec{HCS}\left( {\varvec{C},\varvec{I}} \right) \)
This is the second case of the composition for EMS and HCS with respect to Patient of Cardinality n: \( EMS\left( {L,A,H,P} \right) \otimes_{EMS\left( P \right) = HCS\left( C \right)\& \left| P \right| = \left| C \right| = n} HCS\left( {C,I} \right) \). \( EMS\left( P \right) = HCS\left( C \right) \) implies that Patient from EMS is defined to be a common actor with Customer from HCS, and \( \left| P \right| = \left| C \right| = n \) implies that their cardinality is plural. The two bottom lattices of Fig. 5 shows the possible composition for EMS and HCS, and the bottom lattice of Fig. 6 shows that result of the composition: \( \left( {EMS\left( {L,A,H,P} \right) \otimes_{EMS\left( P \right) = HCS\left( C \right)\& \left| P \right| = \left| C \right| = n} HCS\left( {C,I} \right)} \right)(L,A,H,P = C,I)_{\left| P \right| = \left| C \right| = n} = B\left( {n,n,n,\varvec{n},n} \right) \). There are total 36 possible collective behaviors, which is half of the total composition with the same cardinality, that is, 72 behaviors, 24 from EMS by 3 from HCS. Note that there are 8 more behaviors for EMS B(n, n, n, n) with n Ambulances and 3 more behaviors with HCS B(n, n) for n Customers. It is also 5.06% of the total composition with the different cardinality, that is, 189 behaviors, (18 + 8) from EMS by (4 + 3) from HCS.
3 Application
This section describes how the lattice can be used for specific instance of EMS and HCS occurrences. Figure 7 shows the case of \( EMS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } } \right\rangle \): 1 Location with 3 Patients, 2 Ambulances with seats of 1 and 2, 2 Hospitals with beds of 2 and 1, and 3 Patients with bills of 2, 1, and 2. The behaviors at Level 3 are omitted here, but contain detailed information about all the capabilities with IDs. Figure 7 shows the case of \( HCS\left\langle {C_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \): 3 Customers with bills of 2, 1 and 2, and 2 Insurance Companies with payments of 4 and 1. Other behaviors at Level 3 will contain detailed information about all the capabilities with IDs.
Figure 8 shows the composition of \( EMS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } } \right\rangle \) and \( HCS\left\langle {C_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \): \( EMS \otimes_{P = C} HCS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \). It represents that 3 Patients are transported to 2 Hospitals with 2 and 1 Beds by 2 Ambulance with 1 and 2 Seats for emergency treatments, received 2, 1, and 2 Bills from 2 Hospitals, respectively, and claimed the bills to 2 Insurance Companies for 4 and 1 Payments. This composition can be automatically generated between the abstract behavior lattices as shown in Figs. 5 and 6. The shaded behavior at the left top of Fig. 5 shows the behavior of \( EMS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } } \right\rangle \). The shaded behaviors below show each individual behavior in it. The shaded behavior at the right top of the figure shows the behavior of \( HCS\left\langle {C_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \). The lower ones show each individual behavior in it. The lines show the matching composition for both behaviors with respect to the same cardinality and capacity for the common actor, that is, EMS(P) = HCS(C). Finally, Fig. 6 shows the composite behavior for \( EMS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } } \right\rangle \). and \( HCS\left\langle {C_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \), that is, \( EMS \otimes_{P = C} HCS\left\langle {L_{\left\langle 3 \right\rangle }^{\left\langle 1 \right\rangle } ,A_{{\left\langle {1,2} \right\rangle }}^{\left\langle 2 \right\rangle } ,H_{{\left\langle {2,1} \right\rangle }}^{\left\langle 2 \right\rangle } ,P_{{\left\langle {2,1,2} \right\rangle }}^{\left\langle 3 \right\rangle } ,I_{{\left\langle {4,1} \right\rangle }}^{\left\langle 2 \right\rangle } } \right\rangle \), on the lattice of \( \left( {EMS\left( {L,A,H,P} \right) \otimes_{EMS\left( P \right) = HCS\left( C \right)\& \left| P \right| = \left| C \right| = n} HCS\left( {C,I} \right)} \right)(L,A,H,P = C,I)_{\left| P \right| = \left| C \right| = n} = B\left( {n,n,n,\varvec{n},n} \right) \).
4 Analysis and Comparison with Implementation
4.1 Analysis
The most common approach to address problem of system complexity is the size of system states in other approaches, or the number of behaviors in the approach in this paper. Consequently, the efficiency of the approaches can be measured by the degree of reduction of the complexity with respect to the system states or the number of behaviors.
This paper has presented a new approach to reduce system complexity based on the new notion of Abstract Behaviors Lattice (ABL). It guarantees that the complexity is reduced inverse-exponentially by the definition of the abstract behavior lattice. Further, this method represents composition of two systems with common actors in the minimum states. Table 1 shows the comparing between the Reduction-by-Choice (RbC) method [7] and our approach. Note that the RbC method was compared with other reduction methods in order to prove the efficiency of the method. Table 1 shows the results of comparison with the RbC method for the case of \( B_{EMS} \left( {L_{4}^{ 2} ,A_{4}^{ 2} ,H_{4}^{2} ,P_{4}^{4} } \right) \), \( B_{HCS} \left( {C_{4}^{4} ,I_{4}^{1} } \right) \), and their composition. It shows how drastically the complexities are reduced by the ABL method.
4.2 Comparison
In order to comprehend general patterns of behavior of specific targets, i.e., humans or animals, large amount of data are collected by using various sensors, and the data can be used to extract useful information for analysis of the patterns and behavior, i.e., healthcare services based on human living patterns [8]. Such a data collection method using the sensors can increase degree of correctness of the patterns and behavior, but may require large amount of time and efforts to collect the data. Further the method only focuses on the patterns of the singular entities, but as a whole.
However, the method in the paper abstracts all the possible interactive behaviors among objects in the system based on system perspective, that is, as a whole, but as the singular entities. Therefore it is possible to comprehend all the bidirectional behavioral patterns of objects in the systems. In addition, it is possible to reduce the time and efforts to collect the data, including refinement, since the method models conceptually all the possible occurrence cases of the behaviors by limiting combinational conditions from the initial interactions to the target interactions among objects in the systems, not from collecting randomly unconditional data using sensors. For example, in the perspective of Ambulance from the example, an initial interaction can be the state before transport, a target interaction can be the state after transport, and a condition can be the capacity of Ambulance, that is, 1.
Table 2 shows the summary of the comparison.
The advantages of the method in the paper can be further summarized as follows:
-
(1)
The system behaviors are modeling quantitatively and abstracted based on normalization of their quantities in a mathematical structure, namely n:2-Lattice. And further the lattice provides a mathematical base to predict and analyze collective system behaviors.
-
(2)
The lattice can be used to reorganize abstract system views with respect to main actor concepts and makes possible the analysis of the behaviors with respect to the individual or combinational actors, for example, Ambulance or Patient views from the example.
-
(3)
The lattice can be used to define mathematical relations between collective behaviors of the collecting groups. For example, the group with 1 Ambulance and the group with n Ambulances. The relationship can be represented as a lattice for the lattices.
-
(4)
Composition of two lattices is possible with respect to the common main actors. This is the main topic of the paper, and it gives general capability of the method to apply to the real example.
Most importantly, in the perspective of composition, the method provides one of the possible solutions to handle the state explosion problem. Generally the problem is known as one of the most fundamental problem in computer science, and there are a number approaches to handle complexity of the explosion. The best known ones can be summarized as follows:
-
A compositional analysis of finite state systems to deal with state explosion due to process composition, they tried to reduce base on synchronous and asynchronous execution and showed the method by process algebra [9, 10].
-
A technique to cluster states into equivalent classes which uses a graphical representation into text form [11]. It uses Communicating Real-Time State Machines (CRSMs) that works on automatic verification of finite state real-time systems.
-
A technique to reduce possible infinite time space into finite time space which is developed for a compositional specification theory for components [12].
Compare to these approaches, the approach in the paper reduces the states with respect to the types of behaviors, that is, a sequence of interactions among actors. Further, it represents the composition of two system states with respect to the same cardinality and capacity of the common actors. In Sect. 4.1, the outstanding degree of reduction of the states has been demonstrated and compared with others quantitatively with the examples.
4.3 Implementation: PRISM
In order to demonstrate the feasibility of the approach in this paper, a tool, called PRISM, has been developed on ADOxx Meta-Modeling Platform [6], and reported as a Behavior Ontology tool [13].
5 Conclusion and Future Research
This paper presented a method for knowledge engineering and composition to model collective behaviors of systems. The method was based on a sequence of processes from constructing active ontology, defining regular behaviors, abstracting regular behaviors, constructing abstract behavior lattice, and finally generating a composite abstract behavior lattice from two abstract behavior lattices. The method was demonstrated with two examples: EMS and HCS systems. And the composite lattice for \( {\text{EMS}} \otimes {\text{HCS}} \) was generated. Application of the examples was shown with the instance examples on these lattices. The efficiency of the method was shown with numbers for reduction of the system state. The method can be considered one of the most innovative approaches for collective representation of knowledge engineering and their composition, as well as state minimization.
The future research includes developing meta-modeling the method and its instantiation to target domains, as well as application to the real systems.
References
Haxthausen, A.E., Peleska, J.: Formal development and verification of a distributed railway control system. IEEE Trans. Softw. Eng. 26(8), 687–701 (2000)
Choe, Y., Lee, S., Lee, M.: SAVE: an environment for visual specification and verification of IoT. In: Enterprise Distributed Object Computing Workshop, pp. 1–8. IEEE Press, Vienna, Austria (2016)
Lee, M.: Composition model for cloud services with behavior ontology. In: ICServ2016, Tokyo, Japan, 6–9th September 2016
McNaughton, R., Yamada, H.: Regular expressions and state graphs for automata. In: IRE Transactions on Electronic Computers, vol. 9, no. 1, pp. 39–47. IEEE Press, (1960). https://doi.org/10.1109/tec.1960.5221603
Choe, Y., Lee, M.: A lattice model to verify behavioral equivalence. In: 2014 UKSim-AMSS 8th European Modelling Symposium (2014)
Fill, H.G., Karagiannis, D.: On the conceptualisation of modelling methods using the ADOxx meta modelling platform. Enterp. Model. Inf. Syst. Arch. 8(1), 4–25 (2013). https://doi.org/10.18417/emisa.8.1.1
Choe, Y., Lee, M.: A process algebra construct method for reduction of states in reachability graph: conjunctive and complement choices. J. KIISE 43(5), 541–552 (2016)
Yassine, A., Singh, S., Alamri, A.: Mining human activity patterns from smart home big data for health care applications. IEEE Access 5, 13131–13141 (2017)
Clarke, E.M., Emerson, E.A., Sifakis, J.: Model checking: algorithmic verification and debugging. Commun. ACM 52(11), 74–84 (2009)
Yeh, W.J., Young, M.: compositional reachability analysis using process algebra. In: Proceedings of the Symposium on Testing, Analysis, and Verification, pp. 49–59 (1992)
Chen, T., Chilton, C., Jonsson, B., Kwiatkowska, M.: A compositional specification theory for component behaviours. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 148–168. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28869-2_8
Raju, S. C.: An automatic verification technique for communicating real-time state mechines. Technical report 93-07-08, Department of Computer science and Engineering, University of Washington (1993)
Rahmani, M., Song, J., Lee, M.: PRISM: a knowledge engineering tool to model collective behaviors of real-time IoT systems. In: 2017 Practicing Open Enterprise Modeling (2017)
Acknowledgment
This work was supported by Basic Science Research Programs through Space Core Technology Development Program through the NRF (National Research Foundation of Korea) funded by the Ministry of Science, ICT and Future Planning (NRF-2014M1A3A3A02034792), and Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education (NRF-2015R1D1A3A01019282).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 IFIP International Federation for Information Processing
About this paper
Cite this paper
Song, J., Lee, M. (2018). A Composition Method to Model Collective Behavior. In: Buchmann, R., Karagiannis, D., Kirikova, M. (eds) The Practice of Enterprise Modeling. PoEM 2018. Lecture Notes in Business Information Processing, vol 335. Springer, Cham. https://doi.org/10.1007/978-3-030-02302-7_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-02302-7_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-02301-0
Online ISBN: 978-3-030-02302-7
eBook Packages: Computer ScienceComputer Science (R0)