Enterprise architecture evaluation using architecture framework and UML stereotypes

There is an increasing need for enterprise architecture in numerous organizations with complicated systems with various processes. Support for information technology, organizational units whose elements maintain complex relationships increases. Enterprise architecture is so effective that its non-use in organizations is regarded as their institutional inability in efficient information technology management. The enterprise architecture process generally consists of three phases including strategic programing of information technology, enterprise architecture programing and enterprise architecture implementation. Each phase must be implemented sequentially and one single flaw in each phase may result in a flaw in the whole architecture and, consequently, in extra costs and time. If a model is mapped for the issue and then it is evaluated before enterprise architecture implementation in the second phase, the possible flaws in implementation process are prevented. In this study, the processes of enterprise architecture are illustrated through UML diagrams, and the architecture is evaluated in programming phase through transforming the UML diagrams to Petri nets. The results indicate that the high costs of the implementation phase will be reduced.


Introduction
Enterprise architecture (EA) is a comprehensive technique for explaining the current or future structure and behavior of an organization processes, information systems as well as organizational sub-units.Enterprise architecture is so important that the lack of it in organizations may result institutional inability in efficient information technology management.The enterprise architecture process generally includes three phases including strategic information technology programing, enterprise architecture programing and enterprise architecture implementation.If an architect can evaluate the architecture in the second phase, the designed architecture is assessable from various perspectives and it can be reformed by the architect.Creating an implementable model of architecture is a method for architecture evaluation, regarding a formal description of the given architecture, and through which, before implementation, the final behavior of the system is observable and assessable.
Therefore, the probable flaws in the architecture can be traced, properly.This article aims at using a real-world model to explain the enterprise architecture.The features of enterprise architecture are demonstrated through UML diagrams, and the necessary information relevant to non-functional requirements are annotated in operational profiles format in terms of stereotypes and labels to the diagrams, which could be transformed and evaluated into an implementable model based on colored Petri net.Transforming the real-world model to implementation model makes it possible to evaluate the enterprise architecture efficiency in an applicable model.In the second part of the paper, the field of the work is discussed; the third part describes the activities relevant to the topic of this paper.Part four indicates use of Colored Petri nets in Creating Performance Model and in The fifth part, we describe a suggested solution for presenting a formal model.The sixth part presents a case study and the part seven presents compares the proposed method with the former ones.Finally, the last part is assigned to the conclusions.

Operation field
The operation field includes enterprise architecture, Unified modeling language, Petri nets, and colored Petri nets.

Enterprise Architecture
Enterprise architecture (EA) is the definition and presentation of a high-level perspective toward organizational business processes and IT systems, their mutual relationships, and how much such processes and systems are shared through various parts of an organization.The primary purpose of EA is to define the desirable future status of organizational business processes and IT systems, which mostly creates a path map of the current status to achieve such purpose (Tamm et al., 2011).

Enterprise Architecture Framework
The architecture includes a large number of documents describing all parts of the organization.The problem facing such documents is how to include and hoe to use them, properly.Consequently, to arrange and to describe enterprise architecture, a framework is needed (Afshani et al., 2012).Enterprise architecture framework (EAF) created a direction for developing various architectures, organizing architecture models and an architecture that manages the tasks within the organization, and making a connection to develop complicated organizational structure (Kim et al., 2005).In enterprise architecture process, the architect can make use of the framework as a regulator for structure.Some people developed diverse frameworks such as Zachman, C4ISR, FEAF, TEAF, etc. among which the C4ISR framework is utilized due to its possibility of expressing by graphical models (Afshani et al., 2012).

Unified Modeling Language
UML as a Unified modeling language supporting object-oriented concepts, was proposed in 1990s.It has numerous functions and, after only one year, was accepted by object management group (OMG), as the standard modeling language.Since UML is not a graphical model, assessment of software systems is impossible.However, OMG, responsible for developing UML, introduced a profile to support performance concepts (Haroonabadi et al., 2013).The object managing group proposed UML as an architecture describing standard language in which the system components description, their visible features and the connections among components are illustrated.However, none of these descriptions is able to assess non-functional attributes, and they must be transformed into an implementable model through to assess non-functional attributes (Emadi & Shams, 2009).

Petri Nets
Petri Nets was originally proposed by Carl Adam Petri in the beginning of 1962.Petri nets, as a mathematical and graphical tool for modeling computer systems, were introduced.Due to their simplicity and high capability, Petri nets are utilized largely in enterprise architecture assessment and creating an applicable model (Emadi & Shams, 2008) .Such nets express system data currents through circular places, transfer rectangle, directional arcs and spot tokens (Fang et al., 2013).

Colored Petri Nets
Petri nets create a graphical symbol for modeling the systems and the analysis.Colored petri nets (CPN) integrate the strengths of common petri nets with a high-level programing language, and makes them more proper for great systems.CPN model is a show executable of a system that can be analyzed through simulation (Gehlot & Nigro, 2010).Saldhana and Shatz (2000) developed a method for creating a formal model of UML diagrams by presenting a methodology for creating a formal model of the system for analyzing and behavioral modeling.In fact, the state diagram of UML and collaboration diagrams of UML were transformed into Object Petri net.Then, through the presented formal model, correct-finding of behavioral features of UML was investigated to discover the synchronization-based behaviors such as deadlock.Shin et al. (2003) proposed a method for creating a formal model of UML diagrams and suggested a process for transforming UML-based system model into CPN model.The UML-based system model, according to the connection among use case, class model and collaboration models was written in CPN model having hierarchical structure.Afshani et al. (2012) proposed a new format based on fuzzy UML concept based on fuzzy theory for some of C4ISR outcomes such as Logical Data Model (OV-7) and Operational Event/Trace Description (OV-6c), Systems Event/Trace Description (SV-10c).Their recommended model led to the creation of a number of outcomes of C4ISR framework.They also evaluated a couple of metrics including architecture performance and the security of the enterprise architecture net.Other types of qualitative metrics such as dependability and validity were not evaluated.Haroonabadi et al. (2008) discussed the behavioral description of uncertain systems from fuzzy status diagram.They also studied the role of behavioral diagram in F-UML in the process of software function modeling.Lima et al. (2009) proposed a method for evaluating the correction of the behavior and the validity of the sequence diagram of UML.This method uses the source and the destination of messages in sequence diagram and such diagrams are written in Promella language.Then the SPIN tool is used for simulation.In neither cases of the above, any study has accomplished on the use case diagram, activity diagram, component diagram with performance stereotype.

The Use of Colored Petri nets in creating performance model
To create a CPN model, the UML diagrams including performance annotation are supposed as the input.The use case diagram illustrates the working load of the system.The component diagram presents a design of the software resources of the system, and it is utilized to illustrate the static system structure.The action diagram indicates the service request of the resources in terms of different operations.The annotation on the above mentioned diagrams include stereotypes and labeled amounts.The outputs of the architecture are collections of graphical, textual and table models describing the architecture (Afshani et al., 2012).This paper focuses upon performance assessment of enterprise architecture through UML stereotypes, and describes some of C4ISR outputs such as logical data model (OV-1), (OV-2) and (OV-5).

The Stereotypes in Use Case Diagram
In general, each user in use case indicates a sequence of requests in system; this diagram includes following stereotypes: <<PAopenload>> is applied when the sequence of the requests is unlimited; its tags are: PAoccurrence that indicates the interval between two sequential requests.<<PAcolsedload>> is used when the sequence of the request is limited, and it includes the following tags: PApopulation indicates all the requests within the system.PAextDelay indicates the interval between a request and the following interaction to the system (Khamseha et al., 2013).
The high level operational concepts diagram (Ov-1) is the most general output of the architecture description and possesses the most flexible format (Haroon Abadi et al., 2013).The use case provides a way for describing the operational concept (Bai, 2008)

The Stereotypes in Activity Diagram
In activity diagram, the activities announce their service request from a system resource through <<PAstep>>, and include the following labels: PAhost is used for determining active resources.PAdemand determines the service request.
The activity diagram can describe the operational activities relevant to the operational activities model of the architecture C4ISR, (Ov-5) and the data or the information transferred among operational nodes (Bia, 2008).

The Stereotypes in the component diagram
<<PAhost>> is used for determining the components and it can model an active resource; it is also a design of the resources available in the system.PArate shows the process speed.PASchdpolicy illustrates the timing policy (Emadi & Shams, 2008).Component diagram is a method to describe (Ov-2).

The Recommended Algorithm
CPN model consists of T transfers and C colors representing the number of client classes.The transfers illustrate UML model resources in CPN.An extra transfer in CPN is defined through the <<PAclosedLoad>> for each agent, indicating the time consumed for the finishing of an interaction to the system and the beginning of its next repetition (such as the user thinking time).Numerous factors have various working loads in system.In this case, CPN model can be divided into several CPN sub-models separated from each other.Each sub-model will possess its own working load.The requests of a sub-model can have several classes.The classes available in each sub-model are illustrated by different colors in the CPN model.
In open Petri net, the input enters into transfer, where the initial action of the activity diagram use it.The rate of entering to the Petri net equals the PAoccurrance in an agent that uses activity diagram for implementing its use case.
Several actions can use one resource.To support this issue in CPN model the following attribute is defined.assuming that the system resources are shown as Eq. ( 1) Counter [res] shows the sum of the actions requested service from res. we define a unique index for any resource by identity The set of the actions using res resources is as follows Eq. ( 3):

The Algorithm of Transforming the UML Model into the CPN Model is as follows:
It is assumed that the X agent is annotated by <<PAopenload>>.
1) the amount of attributes in Eq. ( 4) are calculated: 2)The amount of process rate and arrival rate are calculated in Eq. ( 5 (5) The λ [r] indicating the rate of a client with r class is illustrated in Eq. ( 6) as follows, If the X agent is annotated by <<PAopenload>> , the following changes are applied to the algorithm: The number of the transfers is one more than available resources in component diagram.

T=|RES|+1 (7)
Extra transfer is shown by '0' for indicating the delay.The fire rate of this transfer for all classes is stated in Eq. ( 8) as follows, According to the PApopulation label, N is the number of requests available in system and it is determined as Eq. ( 9) as follows, Integrating the mentioned algorithms, a new algorithm is made in which the number of the CPN submodels equals A+B.A is the number of agent with the <<PAopenLoad>> stereotype and B indicates the number of agent with the <<PAclosedLoad>> stereotype.

The Case Study
The case study includes the process of getting cash from ATM.

Comparing the proposed method with the former ones
Table 2 demonstrates the features of the proposed method compared with former methods.The recommended method, in addition to the abilities of those methods, is able of evaluating the enterprise architecture through software resources; in fact, it is the unique ability of this recommended model.

Conclusions
As mentioned earlier, Enterprise architecture is so effective that its non-use in organizations was regarded as their institutional inability in efficient information technology management.This paper proposed new method for evaluating enterprise architecture based on a formal model (Coljored Petri Nets) to evaluate the non-functional requirements.As a result, before implementing the enterprise architecture, a model of the issue was designed and evaluated to prevent the Probable flaws in the implementation phase.
Through one unique number in the [1, 2, …, counter[res]] interval.The unique number is specified by indicator[act].
Fig. 1 illustrates the use case diagram only for one use case.Fig. 2 indicates component diagram and Fig. 3 shows activity diagram.This activity diagram has 8 acts.In addition, Fig. 3 shows details of activity diagram.

Fig. 1 .
Fig. 1. use case relevant to action diagram

Fig. 4 .
Fig. 4. The middle graph between real model and formal model Fig. 5.The Petri net relevant to the action Diagram

Table 1
The stereotypes and the labels of the UML diagrams

Table 2
Comparing the recommended method and the former methods