Enterprise Architecture Development Based on Enterprise Ontology

Enterprises choose Enterprise Architecture (EA) solution, in order to overcome dynamic business challenges and in order to coordinate various enterprise elements. In this article, a solution is suggested for the Enterprise Architecture based on a conceptual model of Enterprise Ontology (EO). Enterprise Ontology provides a common structure for data collection. First, conceptual model of Enterprise Ontology based on the Zachman Framework is presented. Then, the Enterprise Architecture development process based on Enterprise Ontology is proposed. Using this solution, Staffs, stakeholders, users, architects


Introduction
The Enterprise Architecture refers to a comprehensive description of all of the key elements and relationships that constitute an organization [16].Enterprises pay remarkable attention to Enterprise Architecture to increase their flexibility and to adapt to business environment changes.By architecture aid, enterprises can achieve organizational integration and overcome business dynamics [5].Enterprise Architecture refers to a discipline that attempts to integrate, govern and analyze enterprise elements.Alignment of elements creates synergy in achieving enterprise objectives.
Gruber [14] defined ontology as follows: "Ontology is an explicit specification of a conceptualization".In other research, Campbell and Shapiro [3] defined ontology as "Ontology consists of a representational vocabulary with precise definitions of the meanings of the terms of this vocabulary plus a set of formal axioms that constrain the interpretation and well-formed use of these terms".Ontology defined prevalent terms and concepts in a domain to exchange information and provided the way to share and to reuse knowledge among people and asymmetrical application systems.In other words, ontology provides a common understanding of a domain that facilitates communications between people and systems [23].
Existing Enterprise Architecture methodology has some problems.Firstly, there has not been common and exactly semantic understanding between human and system yet and it causes communication problems among humans or among systems or between human and system [17].In addition, data collected in developing Enterprise Architecture are not based on a common definition of concepts and data communication; for example planner has one definition for action and the developer has another definition; in some cases a specific data is called with different names.Such problems can lead to inconsistency and lack of integrity of the architecture data.There is not a semantic foundation for collecting architecture data.
Another problem is none-effective architecture results for decision-making.Architects have to accompany models and explain results to the mangers in order for him to make decisions according to results.Most of Enterprise Architecture frameworks and methodologies rely on traditional and routine artifacts; Architects attempt to produce an artifact and present it to managers; for example, they produce business process model or system model.Since creating Enterprise Architecture models is expensive and lacks intrinsic value, it is desirable to only create Enterprise Architecture models that fit for purpose and support decision making well [10].Often technical models, which are suitable technically are produced, while they are not suitable for decision-making.Enterprise Architecture artifacts should be defined according to stakeholders' purposes and requirements; therefore, to have qualified data as the process backing is very helpful.
In this article, a solution is suggested for the Enterprise Architecture based on a conceptual model of Enterprise Ontology.First, conceptual model of Enterprise Ontology based on the Zachman Framework is proposed.Second, the Enterprise Architecture development process based on Enterprise Ontology is proposed.Furthermore, the features of the Enterprise Architecture repository are examined in the new solution.This paper is organized as follows: Section 2 provides related works.The Enterprise Architecture based on Enterprise Ontology is suggested in Section 3. In Section 4, Enterprise Architecture development process is used in a case study and appropriate results are shown.Finally, conclusions and future works are discussed in Section 5.

Related Works
Allemang et al. [1] proposed FEA Reference Model Ontology (RMO) to have the shared meanings of Federal Enterprise Architecture (FEA) reference models, but it is nothing except FEA description in Web Ontology Language (OWL) and it only applies to FEA.In other research, Fuchs-Kittowski and Faust [10] presented semantic architecture tool (SemAT) for collaboration in Enterprise Architecture development and management.The Enterprise Architecture ontology model is used to design wiki-like collaborative environment.It presented only an ontology model for Enterprise Architecture and it did not point to how to develop Enterprise Architecture.Ghani et al. [12] offered a usercentric semantics-oriented Enterprise Architecture management and paid specific attention to users as architecture audience.He tries to provide meaningful information for the enterprise users, along with their needs and functional scope.Kang et al. [17] presented an ontology-based three-level Enterprise Architecture in order to solve the lack of semantic understanding in common among different systems and between human and system and among stakeholders in the enterprise.It emphasizes to use Semantics of Business Vocabulary and Business Rules (SBVR) and Fact-oriented approach.This approach focuses on the Formal level of ontology and it does not present a systematic method for Enterprise Architecture development.All researches attempt to use ontology in Enterprise Architecture, but none of them has presented a fundamental method for Enterprise Architecture development and has not paid attention to Enterprise Ontology as a baseline for Enterprise Architecture development.They also have not pointed to a general process for Enterprise Architecture development based on ontology.
The important issue to achieve integrity and effective business planning is that all agents and stakeholders acquire a common understanding of different abstractions of an enterprise.Enterprise Ontology is provided for this purpose

Enterprise Ontology
There are several Enterprise Architecture frameworks such as Zachman, FEA, The Open Group Architecture Framework (TOGAF) and Department of Defense Architecture Framework (DODAF).Among them, all researchers agree on the Zachman as base for Enterprise Architecture research.Zachman Framework is a two-dimensional schema, used to organize the detailed representations of the enterprise.The Zachman Framework summarizes a collection of perspectives involved in enterprise architecture.These perspectives are represented in a twodimensional matrix that defines along the rows the type of stakeholders and with the columns the aspects of the architecture.While there is no order of priority for the columns of the Framework, the top-down order of the rows is significant to the alignment of business concepts and the actual physical enterprise.The rows of Zachman are described as follows: Planner's View (Scope), Owner's View (Enterprise or Business Model), Designer's View (Information Systems Model), Builder's View (Technology Model), Subcontractor View (Detailed Specifications).The columns of Zachman are described as follows: The data description (What), the function description (How), The Network description (Where), the people description (Who), the time description (When), and the motivation description (Why).The kinds of models or architectural descriptive representations are made explicit at the intersections of the rows and columns.Each cell which is the intersection of row (perspective) and column (abstraction) is made up of Enterprise Architecture artifacts such as documents, models, graphics, and etc. [20], [25], [26].
Zachman is better than the other framework in the point of completeness of taxonomy.This is almost the entire focus of Zachman.None of the other framework focuses as much on this area [19].The framework is a simple and logical structure for classifying and organizing the descriptive representations of an enterprise [25].All requirements of enterprise architecture are collected in the Zachman grid at once.Zachman is the best starting point for determining required concepts in ontology development.The Zachman Framework is considered as a base for Enterprise Ontology in this article.Enterprise Ontology does not aim to provide the ontology with so many concepts in enterprise domain but it detects core concepts and expresses how to develop architecture by applying this ontology.We focus on how to use the Enterprise Ontology in Enterprise Architecture development.
Generally, ontology development activities include specification, conceptualization, formalization, implementation and maintenance.Conceptualization is one of the main ontology development activities.Conceptualization activity structures the domain knowledge to the meaningful models at the knowledge level.The goal of a conceptualization process is to provide a domain model less formal than the implementation model but more than the definition of the model in natural language [13].In this paper, Enterprise Ontology will be developed at conceptual level and axioms, constraints and rules are not discussed in the conceptualization.
Enterprise Ontology based on the whole Zachman abstractions (columns) are suggested.Moreover, at the conceptual level, the Enterprise Ontology focuses on first and second rows (views) of Zachman but other rows will detail in the formal level.These concepts provided planner's view and owner's view.
Ontology is defined in English and presented in meta models in a UML-based ontology representation language.UML class diagram is used for representing concepts and association, and aggregation relations are used for representing relations between concepts.Figure 1 shows ontology concepts and their relationships at the conceptual level.The core concepts of enterprise include:

•
Goal: Desired state or condition that enterprises should achieve it.
• Action: A deed and action or event that is done, actions is divided into sub-actions, these further into subsub-actions etc. Parts of actions are functions, activities, tasks or operations.Decomposition aims at reaching the level of elementary actions, where it is not possible or necessary to further decompose.
• Action structure: Action structure defines structure and sequence of actions in order to realize and support goals.Thus, the action structure consists of one or more action.Each action structure wants to achieve defined and supposed desired state and desired state is in line with goals.Activity structure can be temporary or permanent.
• Human actor: Human actors are the organization Staffs.
• Position: A position is a post of employment occupied by zero or many human actors.For each position, specific qualifications in terms of skills and demands on education and experience are specified.
• Role: A collection of responsibilities that is relevant to a position.
• Organizational unit: An organization consists of organizational units.An organizational unit is composed of positions with the established supervision relationships.
• Resource: Actions can produce or consume resources in the enterprise.The resource has various types such as system and data.
• System: A system is a thing that is designed, built and installed to serve in a specific action affording a convenience, efficiency or effectiveness.Systems can be manual, computer aided, or computerized.The system is a type of resource.
• Data: Actions use data for execution and produce data when execution.Data is a type of resource.
• Time: Time Refers to when actions are executed.
• Location: Refer to place where actions are executed.A point or extent in space that may be referred to physically or logically.Core concepts are considered, because concepts are provided in conceptual level.Enterprise Ontology is not static, and defining concepts can be evolved.Enterprise Ontology can be improved and extended within the Enterprise Architecture project progress and also based on organization type.Enterprise Ontology is an infrastructure to collect architecture data.
Artifact centric approach means EA development process which looks for creating the model as EA artifact, and all efforts are towards producing traditional artifact.Furthermore, it is important to produce artifacts such as process model, system model, data model to be produced and to present to stakeholders.There is not a systematic method for collecting architecture data and data might be collected irregularly in different ways.Data centric approach means all efforts towards collecting data for EA development process in an accurate way.Architecture data are considered as input of EA artifact.Accurate data influences on artifact quality remarkably.Furthermore, according to accurate data, architecture trends to fit for purpose artifact effectively.The architecture data supports architecture process and fit for purpose artifact.Presence of qualified data as the architecture effort backing is very helpful to fit for purpose modeling.At first, the process focuses on collecting accurate architecture data and, then producing fit for purpose results.The steps of the process are described as follows: Step

1: Determining Purposes of Enterprise Architecture Development
To describe purposes, we should recognize audience and stakeholder.Zachman introduced five main stakeholders (planner, owner, designer, builder, and subcontractor) with their own perspectives about Enterprise Architecture, but enterprise can have more different stakeholders.We investigate who are the stakeholders and decision makers, in the first step.Then, their intention and purpose of Enterprise Architecture development are recognized.Stakeholders decided to develop an Enterprise Architecture answering which questions.The architect can acquire Stakeholders' needs in different ways such as session, interview, checklist, and questionnaire.Also, architecture purposes should be along with enterprise mission.
Having determined Enterprise Architecture purposes in this step, the next steps are going to be implemented depending on this step.Since architecture may have different purposes, next step activities that depend on purpose can be distinct.For one purpose, we may deal with a subset of the concepts and collect data and present Enterprise Architecture descriptions while this is not required for another purpose that is the distinction between this process and other Enterprise Architecture methodology.Furthermore, it must be determined either we are searching for As-Is architecture or To-Be one.Figure 2 shows the main activities of step 1 and its inputs-output.Furthermore, the scope of the architecture should be determined when we define the Enterprise Architecture purpose.Scope can be large or small.Small scope means architecture involved few elements of the enterprise.Large means architecture involved many elements of the enterprise.The appropriate detail level should be determined carefully, the selection of detail level according to architecture purpose, architecture scope and the kind of decision made by architecture should be determined.It is important to achieve appropriate level of depth in each view.If relevant characteristics are left out, the architecture may not be useful.If unnecessary characteristics are included, the architecture effort may prove infeasible given the time and resources available, or the architecture may be puzzling and cluttered with details that are unnecessary.For example, architect can achieve the detail of information about an action depend on the requirements, or sometimes least information can be satisfied.
Step 3: Determining the Required Concepts Architect requires common understanding of collecting data and architecture participants should agree on the concepts.Common understanding eliminates semantic conflicts.Enterprise Ontology provides common grounds to conceptualize share and reuse information (achieved from enterprise) as architecture data.In this step, the Enterprise Ontology required concepts and relations are determined based on clear purpose.What data are required according to selected concepts, whether we require new concepts to fulfill requirements or previous concepts are enough to fulfill new requirements.If current ontology does not provide required concepts, new concepts will be entered into the ontology by the assistance of ontologists, domain experts, architects and stakeholders.Domain expert and architecture give information and ontologists design Enterprise Ontology.Figure 3 shows the process.Figure 4 shows main activities and input-output of this step.For example, some Zachman cells (artifacts) are selected and required concepts are mentioned in the table 1.  Step 4: Collecting Data In this step, data are collected regarding selected concepts; data are stored in the ontology form in the Enterprise Architecture repository.The repository containing collected data may be in the previous projects that are in common with the current project.Previous data help to collect new data and it also can be used in the Enterprise Architecture process.Since concepts were defined based on Enterprise Ontology obviously, there is no data inconsistency.Data gathering can also be done by different groups and different places in the enterprise.Finally, we examine whether collected data suffices to supply defined requests or not; if not, steps 2 to 5 would be repeated again.
Step 5: Data Analysis In this approach, we have views and analyses as architecture results.The views are preliminary artifact in the EA development process.Views are created based on collecting data in the previous step.Sometimes, it is not essential to provide views as result to meet decision makers' demands.Since architecture data were collected accurately, exactly and consistently, we can analyze in a variety of ways; for example statistics analysis, strategic planning analysis, which is another advantage of this approach.
Analysis can be performed by human experts and/or BI tools.Any type of models and tools can be used beside ontology and ontology is applied as supporting.Enterprise Architecture Decision makers' questions that have been stated in step 1 are answered.Customized analysis and fit for purpose results can be provided using derived data.
Of course, we can do many analyses potentially based on collecting data, but all of them are not required.If ontology implements in the formal level, we can use ontology reasoning in this step.Ontology reasoning engine performs reasoning, regarding defined concepts, their relationships, and ontology rules and constraints.Collected data based on ontology can be used as a basis for inference and reasoning.

The Features of Enterprise Architecture Repository
The enterprise architecture repository is an automated model storage facility to keep track of architecture [20].
Treasury Enterprise Architecture Framework (TEAF) [4] defined repository as an information asset used to organize, store, access and share all Enterprise Architecture information, relationships between the information elements, and artifacts.A repository is simply a database built specifically to store and relate the various kinds of documents and diagrams described in the Zachman Framework.
One of the weak points of EA modeling is dispersal of artifacts i.e. they are not integrated with the repository.Individual models are produced as artifacts, while their consistency is very complex.Furthermore, lack of integrity leads to change management for EA artifacts and descriptions, so tracking and updating is not possible.Integrated repository also increases reusability of architecture data.As a whole, EA management is very difficult without an integrated repository.
In this approach, we have views and analyses as architecture results.The views are preliminary artifact in the EA development process.Since collected data are consistent, integrity and precision, the views that based on data also are consistency, integrity and precision.The views relate tightly to architecture data.Therefore, EO provides context for EA repository.

Applying Solution in a Case Study
A case study is provided to illustrate how the approach works and to show the high potential of solving the Enterprise Architecture problems via Enterprise Ontology.We select the software production company to conduct the case study.The case study is an actual company.A real-world example demonstrates the feasibility of the proposed solution.In order to acquire information about the case study, researchers participated in sessions and achieved information and data from interviews.
One of the company's main activities is production of desktop software.The company produces the software products, and sells them in the form of a package to users.In fact, projects' employer is the company itself.The company has four main departments include Research department, Technical department, Administrative and Financial Department, and Commerce Department.Customer Office is part of the Commerce Department.Major product is a software package and software producing is a major process for the enterprise.The structure of the organization is project-centric.
If users of software have any suggestion or idea about products, users can inform their idea by communication channels that Customer Office provided.The company's current concern is that while one of the enterprise missions is producing software fit for user's requirement, why user's ideas are ignored and reactions are minimal.We use the mentioned steps in the section 3-2 to solve this problem.
Step1: Determining Purposes of Enterprise Architecture Development Company senior manager stated an issue about it; Why are user ideas ignored by the company and the least reactions are done?After more examination of the problem, purpose and intention of using Enterprise Architecture are defined as follows: "understanding activities, tasks and actions that company does toward user's ideas, finding weaknesses and proposing solutions to improve process".
Architecture scope is processes, activities, organizational units, and resources involved in processing and responding ideas in the enterprise.Purpose of Enterprise Architecture is along with one of enterprise missions that is producing software fit for user's requirements.We want to achieve As-Is architecture and To-Be architecture in the case study.
Step2: Determining the Depth of the Architecture According to the architecture determined purpose, there is no need for too much elaboration.The architect should only detect actions that related to idea processing but does not require much detail about them.
Step3: Determining the Required Concepts Architect, stakeholders, managements and personal agree on using the concepts of the enterprise and their definition.Definition of concept should be matched company features.Common understanding of concepts eliminates semantic conflicts.Solving the problem requires providing a process model accompanied by goals, roles, tools, involved resources in the process.Therefore, we require goal, action, action structure, role, organization unit, resource, system and data concepts for architecture development; data should be collected around these concepts and their relations.Required concepts are shown by a closed line in figure 5. Step4: Collecting Data Architect starts collecting architecture data for solving the problem.Of course, data are collected in other methodologies but this approach uses ontology for collecting accurate data.
Step 4 is a key step in this approach.Some question-and-answer sessions were held about the problem; and managers and employees concerned with the problem are interviewed; therefore, required architecture data are collected from the acquired information.Data will be stored in the architecture repository around concepts and their relations selected in the previous step.some interview questions are mentioned as samples in the following sentences: • Which organizational units and roles are involved in the problem?
• How does the company process user idea currently?
• Is processing of user idea along with enterprise goal or not?
• What information systems are used for user idea processing?What does each of them serve?
Currently, one of the enterprise goals is producing fit for user's requirements software.Suggestions and ideas should be noticed and applied in software production.Examinations show only an action that supports this goal is collecting users' ideas.The Customer Office (organization unit) collects ideas by Customer Relation Management (CRM) and Noorlak (NL) systems.Here, records of ides are considered as data of Enterprise. Figure 6 shows objects and relations of the Enterprise Ontology model at the conceptual level and in As-Is architecture.The figure provides comprehensive insight into existing conditions.In the next step, existing conditions are analyzed.Human analyst observed weaknesses in the process.There is uncoordinated decision making, process, IT and human resource, related to user idea processing; we want to reorganize this process by architecture.We redefine available process and allocate the required resources along with enterprise goals.As seen you in figure 6, ideas only are collected and Customer Office does not interact effectively with project management or Research Department (that is responsible for proposing new projects).There is not process that support applying user ideas in company production.Also, no entity takes over keeping track of ideas.Consequently, after data analysis, a solution is suggested at below: • Creating an entity in the enterprise is responsible for and keeps track of ideas in the productions of the company.
• Reorganizing the process clearly and completely, in order to the user idea can influence productions of the company.
Ideas should be examined, categorized and rated according to the metrics.Ideas should be placed in the project management cycle after examination.One idea can lead to defining new project or changing previous project; that both can be kept track by project management.Idea progress report should be provided in regular time period.
Figure 7 shows objects and relations of the Enterprise Ontology model at the conceptual level and in To-Be architecture.In fact, figure 7 shows the results of analysis based on ontology.Black objects relate to action and action structure concept, blue ones relate to system concept, green ones relate to organizational role concept, red objects relate to goal concept and brown ones relate to data concept.action structure1 object relates to all action objects, but it is not repeated because of decreasing complexity.None-labeled black arrows show the order of actions in figure 7. The figure shows the new process (suggested solution) for ideas processing.New actions, their sequence, data, system, organization unit and the role which related to actions are specified.
As a result, EA process detect weaknesses in the As-Is architecture and suggest a new organization for the company.There are different types of EA results (for example, business process change, improvement strategy, process should change for improving products to better match consumer needs.One of the Zachman artifacts is process model that is required for case study.We show a view of the process model of user idea processing by Enterprise Ontology, though the Enterprise Ontology model (figure 6 and figure 7) contains more information than process model.As we mentioned in section 2, according to architecture purpose, resulting model and used tool can be different from the analysis.Any kinds of tools and models can be used beside ontology and ontology is applied as supporting.It also can use human analysis beside ontology.The case study is examined by human analysis, and architecture need is process redefinition; there is no need to produce more views or analyses.

Conclusions
Ontology helps to collect knowledge from enterprise remarkable, because it shows semantic concepts and relations in a domain.The article focuses on Enterprise modeling based on ontology and how applying the model to solve high-level problems in the enterprise.We can use ontology advantages in the EA and Ontology provides context for collecting architecture data.Collecting data based on an ontological foundation provides integrity, consistency, common understanding, share and reusability.On the other hand backing accurate data support fit for purpose modeling as artifact and an architect will move toward fit for purpose results well, Also architecture development achieves to Enterprise Architecture analysis in a variety of ways and there is no constraints to use tools.Future researches still remain as follows: selecting appropriate language for Enterprise Ontology according architecture requirements, discuss about how acquires knowledge from enterprise, extending ontology based on enterprise type, and using this approach to link strategic planning with monitoring by indicators via software.

Figure 1 :
Figure 1: Conceptual model of enterprise ontology and how it adapted to the columns of the Zachman framework

Figure 2 :
Figure 2: Main activities of step 1 and its inputs-output Step 2: Determining the Depth of the ArchitectureThe appropriate detail level should be determined carefully, the selection of detail level according to architecture purpose, architecture scope and the kind of decision made by architecture should be determined.It is important to achieve appropriate level of depth in each view.If relevant characteristics are left out, the architecture may not be useful.If unnecessary characteristics are included, the architecture effort may prove infeasible given the time and resources available, or the architecture may be puzzling and cluttered with details that are unnecessary.For example, architect can achieve the detail of information about an action depend on the requirements, or sometimes least information can be satisfied.

Figure 5 :
Figure 5: Required concepts and relations to solve the problem of case study

Figure 6 :
Figure 6: Objects and their relations in the As-Is architecture

Figure 7 :
Figure 7: Objects and their relations in To-Be architecture

Table 1 :
Zachman artifact and related concept