2.1 Unified Modeling Language (UML)
UML (Unified Modeling Language), with more notations embodied, is suggested as a gen- eral and standard notation for the analysis, design, and development of object-oriented soft- ware systems [Fowler(2004)]. The semantics of UML is intended for the latter field [Garrido and Gea(2002)]. It is a very popular formal modeling language (somewhat semi-formal). Most of the time it demands Object Orientation. As a layering approach to a software pro- cess, the object-oriented concept is very understandable and useful to create an application. We argue that concepts should be correctly represented, at appropriate levels and that clear semantic links between them should be provided for useful integration. Then the resulting in a more powerful, useful, and flexible system from all points of view.
The modeling power of UML is very high and can be demonstrated by applying it to some systems. The new approaches to address the analysis and design of application sys- tems must be a study and obtain interesting properties of the systems. It is necessary the
application of formal methods to the enterprise level to integrate different applications. Each step in the process of software is also very important. Deployment and integration after this very difficult. Maintenance of software is very easy but the maintenance of EAI is very dif- ficult. The execution time of the software maintenance process may get increased due to the integration of different types of applications, thus, increasing the cost and decreasing the performance of the process [Nabeel et al.(2018)Nabeel, Anwar, and Ahsan]. In [Com- mittee et al.(1998)] mentioned the standard definition of maintenance like âA˘ IJthe totality of activities required to provide cost-effective support to a software system. Activities are performed during the pre-delivery stage as well as the post-delivery stageâA˘ ˙I.
UML diagrams are powerful tools for system design but they are unable to address non- functional parameters. This means UML diagrams cannot be used for performance evalua- tion. By using UML, we can describe the user requirements, static and dynamic properties, and behavior of a system in a convenient way. Easy to transform the UML to the source code of the program. It is difficult to analyze the UML model since it is an informal lan- guage [Hongmei et al.(2000)Hongmei, Biqing, and Shouju].
2.2 Z Specification Language
As application integration wise, fault tolerance is the desirable feature for every integra- tion tool. So that, EAI solutions can keep running despite the occurrence of failure. Errors monitoring is the main activity in fault tolerance since it enables the detection of errors. Rule-based language [Klein et al.(2014)Klein, Sawicki, Roos-Frantz, and Frantz] is one of the solutions to provide an error detection mechanism to detect the errors in the system based on the monitoring system. Z is one of the finest rule-based and formal specification languages, in that some few tools are supported to monitor and detect semantic errors. That is the reason we take the option to choose the Z formal specification language in our pro- posed EAI system.
Z is a formal specification language based on set theory and first-order logic [Spivey and Abrial(1992)] [Diller(1994)]. It is a formal notation for specifying the functionalities of se- quential systems, it does not support the concurrent and distributed system. It includes a set of entities, called schema which are representing of an abstract class of system and its oper- ations. Every entity and its related operations expressed through a rich set of mathematical notations.
Z specification language offers a rich type of definition facility and it supports formal reasoning of the system. However, it does not support concurrent and distributed systems and does not have explicit operational semantics [He(2001)].It has been used as a specification language to formally describe and analyze the requirements and the design architectures of a wide range of hardware and software systems.
Despite some advantages, specification languages having some weaknesses also. They are like limited scope of properties, limited tool support, isolation, poor guidance, and cost, and so on. By Z specification languages we can specify the state space and sets of operations very clearly but we cannot express the combination of the operations. In enterprises, we also need to be able to talk about the behavioral aspects of the system.
It is a very successful formal specification language. Z specification language represents the different objects, events, and processes, the relation between them to integrate the appli- cations. We found that it is suitable mostly for specific domains not all. It is good enough about some verticals, nuclear systems, and some specific domains. Z specifications do not
have explicit operational semantics and it does not support an effective definition of dis- tributed and concurrent systems. EAI need not be tied up to any domain.
2.4 Multi-Agent System (MAS)
Generally, the Multi Agent’s approach is designed for open systems. Autonomy, Hetero- geneity, and Dynamics are the main characteristics of open systems. Agents system is char- acterized by modularity, abstraction, dynamism, and interoperability. This is the main reason that the agent’s approach was considered for application integration in the dynamic and open system environment [Yoo(2007)].
The agent is a system that is situated in some environments, and it acts autonomously to satisfy the design objectives. Autonomous and Environment are the two important param- eters in agent technology. The agents are autonomous that they can act according to their will. They understand what to do based on the environment. The agent’s action will influ- ence the environment. In most cases, the agent’s actions only have partial control over its environment. These actions which are taken based on the environment are not influenced by a human, or any other agents [Wooldridge and Jennings(1995)]. Agents are used agent communication languages such as KQML [Finin et al.(1994)Finin, Fritzson, McKay, and McEntire] and FIPA’s ACL [Specification(2004)] to exchange messages. The main aim of agent communication languages is to provide precise semantics and syntax for interaction between agents.
It is a highly reputed approach at an enterprise level. Each agent has to connect with the environment to do the communication between agents. It is environment-based commu- nication. Most complexity in this approach is agent interaction with the environment. The environment or ecosystem is the best applicable for information retrieval, search engines because of the cyclic approach.
There are many approaches to integrate the applications by the multi-agent scenario such that, use each agent as a wrapper of applications, construct a multi-agent architec- ture in which each agent is interacting with other agents and provide an integration so- lution, and consider each agent as an intelligent manager of an open environment [Wang et al.(2009)Wang, Zheng, Wu, and Tang] [Benmerzoug(2013)].
EAI having many applications which are developed in a different environment. The complexity of the agent depends on the number of agent interactions with the environment. So, it is difficult to maintain and communicate between many environments at a time in a multi-agent system.
2.5 Petri net
Petri Nets is one of the formal specification and graphical oriented modelling languages for the design, specification, and verification of distributed systems [Petri(1962)]. By using Petri net, we can analyze the dynamic properties and structure of systems through strict mathematics analysis and visualized computer simulation as well as model distributed and parallel processes [Murata(1989)]. In [Kim et al.(2017)Kim, Gangolly, and Elsas] find that Petri nets are an attractive alternative of above mentioned models due to their extensive capability to perform analytics and simulation. In [Belusso et al.(2016)Belusso, Sawicki, Roos-Frantz, and Frantz] represents the simulation of integration solution using conceptual models and concluded like the scope of EAI’s investigation is still vast, it is hoped that in the future, new tools and methods will be developed to support this area of study.
Unified Modeling Language (UML) is also a powerful modeling language having many notations and design diagrams. Petri net has a graphical representation and well-defined semantics, which allow compact, manageable representation, and more powerful analysis than the UML. Some of the other features of UML and PNs are mentioned here [Hongmei et al.(2000)Hongmei, Biqing, and Shouju],
-
Petri Nets possess formal strictness Than the UML.
-
Petri Nets model is suitable for simulation while the UML model can be implemented easily.
-
Petri Nets can analyse systems strictly whereas UML can describe systems effectively.
Petri nets can be divided based on modeling power, mechanisms for data abstraction, and refinement [Murata(1989)]. They are different types of Petri nets such as,
-
High-Level Petri Net [He and Murata(2005)]
-
Coloured Petri Net [Jensen(1987)] [Jensen(2013)] [Van der Aalst and Stahl(2011)]
-
Relation Transition Net [Reisig(1985)]
-
Algebraic Petri Nets [Reisig(1991)]
-
Timed Petri Nets [Wang(2012)]
-
Stochastic Petri Nets [Haas(2006)] [Marsan et al.(1998)Marsan, Balbo, Conte, Donatelli, and Franceschinis]
The Petri net definition and syntax being to be changed based on the requirement and type of nets which we could use. The formal definition of Petri net is, A Petri net having 5-tuple, PN = (P, T, F, W, M0)
P = p1, p2,.., pm is a finite set of places denoted by circles
T = t1, t2, ..., tn is a finite set of transitions denoted by rectangles F (P x T) U (T x P) is a set of arcs denoted by lines
W: f 1, 2, 3, ... is a weight function,
M0: P 0, 1, 2, 3, ... is the initial marking like tokens denoted by bolded dots. P T Ç 0/ and P T = 0/
The dynamic behavior of the system can change depends on the changes of the places (P) and transitions (T) in the Petri net.
In this field, some basic questions will arise,
-
Can we reach one particular state from another?
-
Will a storage place overflow?
-
Will the system die in a particular state?
Stepwise elaboration of above questions on Petri net:
Step 1: Design the model of the system based on the requirement
Design the net model by using Places, Transitions, and Arcs which acts as a communi- cator between places and transitions.
Step 2: Analysis of the properties
Reachability
It is a fundamental basis for studying the dynamic properties of any system. It works based on the firing of tokens as an enabled transition, it will change the total net according to the transition rule.
Boundedness
A Petri net is said to be simply bounded if the number of tokens has fired from a place which is not exceeding the finite number. If it k-bounded, means it does not exceed the k token values.
Liveness
The liveness property is like a deadlock property of the system. Besides Petri nets provide various analysis techniques such as,
Through these analysis techniques, the properties of the Petri nets models such as Reach- ability, Liveness, and Boundedness can be examined.
By using Petri nets we can analyze the structure and dynamic properties of systems through strict mathematics analysis and visualized computer simulation as well as model distributed and parallel processes.
As we said earlier Enterprise Application Integration (EAI) integrates methods, objects, and tools for the classification, coordination, connection of applications within organiza- tions. The main goal of EAI is to integrate a business processing of applications of different generations and architecture. These applications consistently change through upgrades or adding of new applications with modified technologies and other influences. One of the pre- requisites for reaching this goal is the documentation of business processes of the individual applications and their interfaces should be unified. Table 1 represents the comparisons of our approached formal views with different characteristics of EAI.
UML having more complex because of having more diagrams, level of the hierarchy is more and most important is In-formal characteristic, even though having more reliability, and effective communication property with heavy industrial usage.
The body of schema in Z specification language may refer to items that are not declared directly in the schema. Generally, Z specifications look clumsy when it is used to specify large systems. It only specifies the functionalities of the system, not to communicate and handling the entire system. Having more complexity, difficulty to maintenance, somewhat in-formal so on are some limitations to the approach of this specification language. The automata and grammar theory also having less dynamicity and somewhat informal, limited tool support.
Same as the above models, the multi-agent system also had some limitations to con- tinue as an approached model of EAI. Process collaboration of the entire hierarchy system is somewhat difficult, its maintenance and complexity are high, not much tool support, less formalism, and difficult to communicate different environments to different agent applica- tions in large systems.
By the all models, finally we have approached Petri Net is a more sophisticated and useful formal model for EAI. Petri net has a graphical representation and well-defined se- mantics, which allow compact and manageable representation and more powerful analysis. The tool set has been developed to automate Petri net analysis, which examines behavioral properties of Petri net such as deadlocks, conflicts, blocking, and performance parameters ranging from throughput rate, utilization to expected buffer size so on. Moreover, concur- rency can be modeled, allowing action to take place simultaneously, and it allows interactive simulation also. So, user can easily identify throughout the model to locate a bottleneck and to troubleshoot the problem.
The author has observed that it has some primary advantages of Petri Net:
-
The graphical model uses very few but powerful primitives making it easy to under- stand.
-
Models can be represented as tuples, which the computer can interpret and analyze.
-
It can unambiguously describe a system, showing explicitly both states and actions, whereas other formal methods focus on either states or actions but not both. This allows users to change between the two perspectives as desired.