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. (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. (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. (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. (4)

    Fourthly, the abstract behavior lattice, Abstract n:2-Lattice, is constructed.

  5. (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.

Fig. 1.
figure 1

An engineering and composite approach to model 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.

Fig. 2.
figure 2

Active Ontology for Emergency Medical Service (EMS) and Health Care Service (HCS)

  • Actors: There are 5 different kinds of actors:

    1. (1)

      Patient (P): Person to be transported.

    2. (2)

      Ambulance (A): Actor to deliver object.

    3. (3)

      Location (L): Place for Patient to be delivered from.

    4. (4)

      Hospital (H): Place for Patient to be delivered to.

    5. (5)

      Bill(Bi): Bill received by Patient from Hospital.

  • Interactions: There are 6 kinds of interactions:

    1. (1)

      \( a_{1} = \left\langle {A,L} \right\rangle_{in} \): Ambulance goes to Location

    2. (2)

      \( a_{2} = \left\langle {P,A} \right\rangle_{in} \): Patient gets on Ambulance.

    3. (3)

      \( a_{3} = \left\langle {A,H} \right\rangle_{in} \): Ambulance goes to Hospital.

    4. (4)

      \( a_{4} = \left\langle {P,A} \right\rangle_{out} \): Patient gets off Ambulance.

    5. (5)

      \( a_{5} = \left\langle {P,H} \right\rangle_{in} \): Patient goes to Hospital.

    6. (6)

      \( a_{6} = \left\langle {Bi,P} \right\rangle_{in} \): Hospital sends Bill to Patient.

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. (1)

      Customer (C): Person to be insured.

    2. (2)

      Insurance Company (I): Company to insure.

    3. (3)

      Bill (Bi): Payment requested by Insurance Company to Customer.

  • Interactions: There are 3 kinds of interactions:

    1. (1)

      \( a_{1} = \left\langle {C,I} \right\rangle_{in} \): Customer contacts to Insurance Company.

    2. (2)

      \( a_{2} = \left\langle {Bi,I} \right\rangle_{in} \): Customer sends a Bill to Insurance Company.

    3. (3)

      \( a_{3} = \left\langle {Bi,I} \right\rangle_{out} \): Insurance Company pays the Bill for Customer.

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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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. (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.

Fig. 3.
figure 3

Abstract Behavior lattice for EMS B(n, 1, n, n) and B(n, n, n, n)

B. :

HCS for B (1, n)

4 regular behaviors are abstracted in the lattice as shown in Fig. 4.

Fig. 4.
figure 4

Abstract Behavior lattice for HCS B(1, n) and B(n, n)

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.

Fig. 5.
figure 5

Composition with plural cardinality for EMS and HCS

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. (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. (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.

Fig. 6.
figure 6

The result of the composition in Fig. 7.

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.

Fig. 7.
figure 7

Example of \( EMS\,AB\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 AB\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 \)

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) \).

Fig. 8.
figure 8

Composition of EMS and HCS: \( 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 \)

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.

Table 1. Comparing choice method and our method in the same condition

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.

Table 2. Comparing between behavior ontology and general behavior modeling

The advantages of the method in the paper can be further summarized as follows:

  1. (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. (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. (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. (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.