+ All Categories
Home > Documents > AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa...

AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa...

Date post: 01-Dec-2018
Category:
Upload: dotuong
View: 212 times
Download: 0 times
Share this document with a friend
98
AN APPROACH FOR CREATING AND MANAGING ENTERPRISE BLUEPRINTS André João de Oliveira Sampaio Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Júri Presidente: Professor Alberto Manuel Ramos da Cunha Orientador: Professor André Ferreira Ferrão Couto e Vasconcelos Co-Orientador: Professor Pedro Manuel Moreira Vaz Antunes de Sousa Vogal: Professor José Manuel Nunes Salvador Tribolet Outubro de 2010
Transcript
Page 1: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

AN APPROACH FOR CREATING AND MANAGING ENTERPRISE

BLUEPRINTS

André João de Oliveira Sampaio

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática e de Computadores

Júri

Presidente: Professor Alberto Manuel Ramos da Cunha

Orientador: Professor André Ferreira Ferrão Couto e Vasconcelos

Co-Orientador: Professor Pedro Manuel Moreira Vaz Antunes de Sousa

Vogal: Professor José Manuel Nunes Salvador Tribolet

Outubro de 2010

Page 2: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

I

Page 3: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

II

AGRADECIMENTOS

À Helena, o meu tudo, que sempre me apoiou, sem quem eu nunca teria conseguido.

Ao Mickey e ao Tommy, os meus gatos, que me fizeram companhia durante as longas noites de trabalho.

A todos do universo Link Consulting e Aitec que me acolheram, ajudaram a crescer e que me permitiram por em

prática o que é abordado nesta tese.

Aos meus amigos e família, pelos conselhos que me deram e pela compreensão quando não pude estar presente.

A toda a comunidade do Instituto Superior Técnico, docentes, colegas e amigos que me ajudaram durante o

percurso académico.

Ao professor Pedro Sousa, pelo entusiasmo, disponibilidade e inspiração.

Page 4: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

III

RESUMO

As organizações têm, nas últimas décadas, incorrido em esforços substanciais para produzir blueprints

arquitecturais que, devido à ausência de metodologias ou à escolha inadequada de ferramentas, são tipicamente

diagramas informais pouco úteis para a grande maioria da audiência. A necessidade de uma abordagem

estruturada tem aumentado à medida que a comunidade se apercebe das dificuldades inerentes à criação e

manutenção das representações arquitecturais.

A Arquitectura Empresarial é uma das disciplinas que nasceu em resposta a estas necessidades. Nas duas últimas

décadas termos como view, viewpoint e concern tornaram-se ubíquos, na medida em que se instalaram no

vernáculo das diferentes escolas de Arquitectura Empresarial, resultando de influências das práticas e conceitos

da Arquitectura de Software. Com um vocabulário comum veio a reutilização de princípios que permitissem a

criação de descrições arquitecturais adequadas. Contudo estes contributos não abrangem o problema do esforço

de criação.

Esta tese apresenta uma abordagem para a geração automática de views, em conformidade com as restrições

impostas por um viewpoint. O trabalho desenvolvido recorre às influências de disciplinas como teoria de grafos,

teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser

compreendido nas vistas e para descrever as convenções de desenho que ditam como o conteúdo deve ser

representado. Partindo de perspectivas formais, a abordagem propõe que a diminuição do esforço no processo de

criação e manutenção de blueprints arquitecturais seja atingida com base na incorporação da automação desses

processos numa solução de software.

Palavras-Chave: Viewpoint, View, Blueprint, Arquitectura Empresarial, Representação Gráfica, Especificação

Formal.

Page 5: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

IV

ABSTRACT

Organizations have, in the last decades, made substantial efforts to produce architectural blueprints which, due to

the lack of methodology or to the use of inappropriate instruments, typically consist in a set of informally

designed diagrams with diminished value for most audiences. The need for an engineering approach as soared

over the last years, as the community acknowledges the difficulties of creating and managing these graphical

architectural descriptions.

Enterprise Architecture is one of the disciplines that emerged in response to such need. In the last two decades

terms such as view, viewpoint and concerns have become ubiquitous and are well-established within the

vernacular of the different schools of Enterprise Architecture, resulting from the influence of concepts and

practices originating from Software Architecture. With a common understanding of the terms came the

reutilization of principles, guidelines that enabled the definition of adequate architectural descriptions. However

no contributions were made regarding the effort needed for the production of the representations.

This thesis presents an approach for the automated creation of views that conform to the constraints of a

viewpoint. The developed work resorts from influences from disciplines such as graph theory, set theory and to

the idea of the Enterprise modelled as a graph, to specify the content to be represented in a view and to describe

the representation conventions that enforce how the content should be graphically represented. From this formal

perspective, the approach proposes that de effort associated with the process of creating and maintaining

architectural blueprints can be reduced through the incorporation of the automation of these processes in a

software solution.

Keywords: Viewpoint, View, Blueprint, Enterprise Architecture, Graphical Representation, Formal

Specification.

Page 6: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

V

INDEX

AGRADECIMENTOS .......................................................................................................................................... II

RESUMO.......................................................................................................................................................... III

ABSTRACT ....................................................................................................................................................... IV

INDEX ............................................................................................................................................................... V

LIST OF FIGURES ............................................................................................................................................. VII

LIST OF TABLES ................................................................................................................................................ IX

LIST OF ALGORITHMS ....................................................................................................................................... X

DEFINING AN APPROACH: STARTING GROUNDS .............................................................................................. 1

1 Introduction ............................................................................................................................................... 1

1.1 Introduction ....................................................................................................................................................... 1

1.2 Problem Statement ............................................................................................................................................ 2

1.3 Thesis Objectives ................................................................................................................................................ 3

1.4 Thesis Outline ..................................................................................................................................................... 4

ARCHITECTURE DESCRIPTIONS AND SUPPORTING APPLICATIONS: AN OVERVIEW ........................................... 5

2 Architecture Descriptions .......................................................................................................................... 5

2.1 4 + 1 View Model ............................................................................................................................................... 5

2.2 RM-ODP.............................................................................................................................................................. 7

2.3 EAB ..................................................................................................................................................................... 8

2.4 IEEE Std. 1471-2000 ......................................................................................................................................... 10

2.5 ArchiMate on Viewpoint Classification ............................................................................................................ 13

2.6 An ontological system perspective on Enterprise Blueprints ........................................................................... 14

3 Related Tools ........................................................................................................................................... 18

3.1 Automatic Diagram Layout............................................................................................................................... 18

3.2 Enterprise Architecture Tools .......................................................................................................................... 20

THE PROPOSED APPROACH ............................................................................................................................ 23

4 Approach Summary ................................................................................................................................. 23

4.1 First Stage ......................................................................................................................................................... 23

4.2 Second Stage .................................................................................................................................................... 25

5 Approach Foundations ............................................................................................................................. 26

5.1 Ontological System perspective of the Enterprise ........................................................................................... 26

5.2 An Enterprise Modelled as a Graph ................................................................................................................. 27

COMPRISED SECTIONS OF A VIEWPOINT ........................................................................................................ 37

Page 7: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

VI

6 Content Viewpoints ................................................................................................................................. 37

6.1 Content Metamodel ......................................................................................................................................... 37

6.2 Blueprint Content Selection ............................................................................................................................. 43

6.3 Filters ............................................................................................................................................................... 46

6.4 Aggregation Procedures ................................................................................................................................... 47

6.5 Contents of a Blueprint .................................................................................................................................... 49

6.6 Content Viewpoint Section Structure .............................................................................................................. 50

7 Graphical Viewpoints ............................................................................................................................... 51

7.1 Graphical Specification ..................................................................................................................................... 51

7.2 Graphically Representing a view ...................................................................................................................... 55

7.3 Graphical Viewpoint Section Structure ............................................................................................................ 60

ACHIEVING AUTOMATION ............................................................................................................................. 61

8 Enterprise Architecture Management System......................................................................................... 61

8.1 Introduction ..................................................................................................................................................... 61

8.2 Repository Integration ..................................................................................................................................... 63

8.3 Blueprint Management .................................................................................................................................... 66

8.4 Time Dimension ............................................................................................................................................... 69

9 Cases ........................................................................................................................................................ 72

9.1 Case 01: Link Consulting - Portugal .................................................................................................................. 72

9.2 Case 02: Financial Group I - Portugal ............................................................................................................... 72

9.3 Case 03: Financial Group II - Brazil ................................................................................................................... 72

9.4 Case 04: Financial Group III - Brazil .................................................................................................................. 72

CLOSING STATEMENTS ................................................................................................................................... 73

10 Conclusions .............................................................................................................................................. 73

10.1 Summary .......................................................................................................................................................... 73

10.2 Lessons learned ................................................................................................................................................ 74

11 References ............................................................................................................................................... 76

APPENDIX A: PSEUDO-CODE CONVENTIONS .................................................................................................. 79

APPENDIX B: RATIONAL SYSTEM ARCHITECT OBJECT MODEL......................................................................... 80

APPENDIX C: ENTERPRISE BLUEPRINTS EXAMPLES ......................................................................................... 81

Page 8: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

VII

LIST OF FIGURES

FIGURE 1 DIFFERENT REPRESENTATIONS OF THE SAME CONTENT. .......................................................................................... 2

FIGURE 2 "4+1" VIEW MODEL [28]. ................................................................................................................................ 6

FIGURE 3 IEEE STD. 1471 CONCEPTUAL FRAMEWORK. .................................................................................................... 10

FIGURE 4 MAGIC QUADRANT FOR ENTERPRISE ARCHITECTURE TOOLS [17]........................................................................... 21

FIGURE 5 FORRESTER WAVE: ENTERPRISE ARCHITECTURE TOOLS [16]. ................................................................................ 21

FIGURE 6 SEPARATION OF CONCERNS: MODEL, VIEW, VISUALIZATION AND VIEWPOINT. ADAPTATION FROM [31]. ........................ 24

FIGURE 7 SEPARATION OF CONCERNS: CONSIDERING TWO VIEWPOINT PARTS. ........................................................................ 24

FIGURE 8 OVERVIEW OF THE SOFTWARE SOLUTION. .......................................................................................................... 25

FIGURE 9 REPRESENTATION OF THE CONSTRUCTION OF A SYSTEM [12]. ................................................................................ 26

FIGURE 10 REPRESENTATION OF A GRAPH, AN INDUCED SUB-GRAPH AND A SPANNING SUB-GRAPH [41]. .................................... 28

FIGURE 11 EXAMPLE OF A CONNECTED AND A DISCONNECTED GRAPH [41]. .......................................................................... 29

FIGURE 12 REPRESENTATION OF AMBIGUOUS RELATIONSHIPS. ............................................................................................ 30

FIGURE 13 REPRESENTATION OF UNAMBIGUOUS RELATIONSHIPS. ........................................................................................ 30

FIGURE 14 REPRESENTATION OF THE GRAPH FOR S01. .................................................................................................... 33

FIGURE 15 REPRESENTATION OF THE GRAPH OF SCENARIO S02. .......................................................................................... 36

FIGURE 16 REPRESENTATION OF THE SUB-GRAPHS IN DISTINCT TIME INTERVALS. .................................................................... 36

FIGURE 17 REPRESENTATION OF THE CONTENT METAMODEL FOR S03. ................................................................................ 42

FIGURE 18 EXAMPLE OF A REPRESENTATION OF THE ADDRESSED CONTENT FOR S04. ............................................................... 44

FIGURE 19 REPRESENTATION OF THE FIRST [A], SECOND [B] AND THIRD [C] CONTENT SELECTION CONDITIONS FOR S04. ................. 45

FIGURE 20 REPRESENTATION OF THE OUTPUT OF THE FIRST AGGREGATE PROCEDURE FOR S04. ................................................. 48

FIGURE 21 REPRESENTATION OF SECOND AGGREGATE PROCEDURE FOR S04. ......................................................................... 49

FIGURE 22 REPRESENTATION OF THE VIEW GRAPH FOR S04. ............................................................................................... 49

FIGURE 23 EXAMPLE OF SYMBOLS LAID OUT DIFFERENTLY DUE TO THE AMBIGUITY OF THE GRAPHICAL GUIDELINE. ......................... 51

FIGURE 24 BLUEPRINT DRAWING SPACE. ........................................................................................................................ 52

FIGURE 25 DESIRED GRAPHICAL REPRESENTATION FOR S04. ............................................................................................... 55

FIGURE 26 INFLUENCE PATHS TRAVELLED. ....................................................................................................................... 59

FIGURE 27 ENTERPRISE ARCHITECTURE MANAGEMENT SYSTEM’S MAJOR AREAS. ................................................................... 61

FIGURE 28 EAMS OVERVIEW. ..................................................................................................................................... 62

FIGURE 29 GRAPHICAL INTERFACE USED TO DEFINE FILTERS. .............................................................................................. 68

FIGURE 30 BLUEPRINT WITH NO APPLIED FILTER. .............................................................................................................. 69

FIGURE 31 BLUEPRINT WITH A FILTER APPLIED. ................................................................................................................ 69

FIGURE 32 GRAPHICAL INTERFACE THAT ALLOWS THE SPECIFICATION OF TIME RELATED CONSTRAINTS. ........................................ 69

FIGURE 33 BLUEPRINT WITHOUT TIME RESTRICTIONS. ....................................................................................................... 70

Page 9: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

VIII

FIGURE 34 BLUEPRINT WITH TIME RESTRICTIONS. ............................................................................................................. 70

FIGURE 35 CONTROL PANEL FOR DYNAMIC VISUALISATION. ................................................................................................ 70

FIGURE 36 BLUEPRINT WITH NO TIME RESTRICTIONS. ........................................................................................................ 71

FIGURE 37 BLUEPRINT RESTRICTED TO A DATE. ................................................................................................................ 71

FIGURE 38 RATIONAL SYSTEM ARCHITECT OBJECT MODEL. ............................................................................................... 80

FIGURE 39 APPLICATION ORGANIC. ............................................................................................................................... 81

FIGURE 40 APPLICATION CONTEXT. ............................................................................................................................... 82

FIGURE 41 PRODUCT VIEWPOINT. ................................................................................................................................. 82

FIGURE 42 COMPONENT INTEGRATION .......................................................................................................................... 83

FIGURE 43 APPLICATION STRUCTURE. ............................................................................................................................ 83

FIGURE 44 PROJECT IMPACT. ....................................................................................................................................... 84

FIGURE 45 APPLICATION CONTEXT (EAMS-VIEWER). ...................................................................................................... 85

FIGURE 46 APPLICATION STRUCTURE (EAMS-VIEWER). ................................................................................................... 86

Page 10: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

IX

LIST OF TABLES

TABLE 1 RM-ODP VIEWPOINTS [31]. ............................................................................................................................ 7

TABLE 2 COMPARISONS BETWEEN ENGINEERING AND IT DRAWINGS. ...................................................................................... 8

TABLE 3 EAB BLUEPRINT TYPES. ..................................................................................................................................... 9

TABLE 4 DEFINITIONS OF IEEE STD. 1471 CONCEPTUAL FRAMEWORK. ............................................................................... 11

TABLE 5 BEHAVIORAL VIEWPOINT DEFINED IN [24]. .......................................................................................................... 11

TABLE 6 SUMMARIZED SECTIONS OF THE HILLIARD’S VIEWPOINT TEMPLATE [8]. .................................................................... 12

TABLE 7 VIEWPOINT PURPOSE DIMENSION [31]. .............................................................................................................. 13

TABLE 8 VIEWPOINT ABSTRACTION LEVELS [31]. .............................................................................................................. 13

TABLE 9 NOTIONS OF [38]. ......................................................................................................................................... 16

TABLE 10 TREE LAYOUT ALGORITHMS. ........................................................................................................................... 19

TABLE 11 GRAPH LAYOUT ALGORITHMS.......................................................................................................................... 19

TABLE 12 EDGE ROUTING ALGORITHMS. ......................................................................................................................... 19

TABLE 13 PROPERTY VALUES OF THE ARTIFACTS IN S02. .................................................................................................... 36

TABLE 14 PROPERTY VALUES FOR APPLICATION COMPONENTS OF S04. ................................................................................ 49

TABLE 15 CONTENT GUIDELINES FOR THE CONTENT VIEWPOINT. ......................................................................................... 50

TABLE 16 ASSOCIATION OF THE ARTIFACTS WITH GRAPHICAL TYPE. ...................................................................................... 59

TABLE 17 CONTENT GUIDELINES FOR THE GRAPHICAL VIEWPOINTS. ..................................................................................... 60

TABLE 18 EAMS FUNCTIONALITIES. .............................................................................................................................. 63

TABLE 19 SYSTEM ARCHITECT ENCYCLOPEDIA’S USED METHODS AND DESCRIPTIONS. .............................................................. 64

TABLE 20 SYSTEM ARCHITECT DEFINITION’S USED METHODS AND DESCRIPTIONS. ................................................................... 64

TABLE 21 SYSTEM ARCHITECT ENCYCLOPEDIA’S USED ATTRIBUTES AND DESCRIPTIONS. ............................................................ 64

TABLE 22 METHODS FOR IREPOSITORY. ......................................................................................................................... 64

Page 11: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

X

LIST OF ALGORITHMS

ALGORITHM 1 EXAMPLE OF AN AGGREGATE PROCEDURES TEMPLATE.................................................................................... 47

ALGORITHM 2 DESCRIPTION OF THE FIRST AGGREGATE PROCEDURE FOR S04. ........................................................................ 48

ALGORITHM 3 DESCRIPTION OF THE SECOND AGGREGATE PROCEDURE FOR S04. .................................................................... 48

ALGORITHM 4 IDENTIFYENTRYPOINTS METHOD TEMPLATE. ................................................................................................ 53

ALGORITHM 5 ASSOCIATE METHOD TEMPLATE. ............................................................................................................... 54

ALGORITHM 6 GRAPHICALORCHESTRATION METHOD TEMPLATE. ........................................................................................ 54

ALGORITHM 7 CHILDNODES SUPPORT ALGORITHM. .......................................................................................................... 54

ALGORITHM 8 CHILDEDGES SUPPORT ALGORITHM. ........................................................................................................... 54

ALGORITHM 9 PARENTNODES SUPPORT ALGORITHM. ........................................................................................................ 55

ALGORITHM 10 PARENTEDGES SUPPORT ALGORITHM. ...................................................................................................... 55

ALGORITHM 11 AGGREGATECHILDNODES SUPPORT ALGORITHM. ....................................................................................... 56

ALGORITHM 12 CALCULATESIZE METHOD FOR GRAPHICAL ELEMENTS CLASSIFIED AS SYMBOL. ................................................... 56

ALGORITHM 13 CALCULATEPOSITION METHOD FOR GRAPHICAL ELEMENTS CLASSIFIED AS SYMBOL. ............................................ 57

ALGORITHM 14 CALCULATEHEIGHT FOR GRAPHICAL ELEMENTS CLASSIFIED AS CONTAINER. ...................................................... 57

ALGORITHM 15 CALCULATEWIDTH FOR GRAPHICAL ELEMENTS CLASSIFIED AS CONTAINER. ....................................................... 57

ALGORITHM 16 CALCULATESIZE METHOD FOR GRAPHICAL ELEMENTS CLASSIFIED AS CONTAINER. .............................................. 57

ALGORITHM 17 CALCULATEPOSITION METHOD FOR GRAPHICAL ELEMENTS CLASSIFIED AS CONTAINER. ....................................... 58

ALGORITHM 18 GRAPHICAL ORCHESTRATION FOR S04. .................................................................................................... 58

ALGORITHM 19 IDENFITYENTRYPOINS FOR S04 ............................................................................................................... 58

ALGORITHM 20 ASSOCIATE FOR S04 ............................................................................................................................. 58

ALGORITHM 21 CHOREOGRAPHELEMENTMETHODS FOR S04. ............................................................................................ 59

ALGORITHM 22 DISTRIBUTEELEMENTS FOR S04. ............................................................................................................. 60

ALGORITHM 23 ALGORITHM TO OBTAIN ALL THE REPOSITORY’S ARTIFACTS. ........................................................................... 64

ALGORITHM 24 ALGORITHM USED FOR THE RETRIEVAL OF ALL THE REPOSITORY’S RELATIONSHIPS. ............................................. 65

ALGORITHM 25 GETARTIFACTSBYTYPE .......................................................................................................................... 65

ALGORITHM 26 GETARTIFACT ...................................................................................................................................... 65

ALGORITHM 27 GETARTIFACTPROPERTY ........................................................................................................................ 65

ALGORITHM 28 GETRELATIONSHIPBYTYPE ..................................................................................................................... 66

ALGORITHM 29 GETRELATEDARTIFACTS......................................................................................................................... 66

ALGORITHM 30 GETREPOSITORYADDRESSEDINFORMATION ............................................................................................... 67

ALGORITHM 31 CREATE .............................................................................................................................................. 67

Page 12: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

XI

Page 13: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

1

Chapter 01

DEFINING AN APPROACH: STARTING GROUNDS

1 INTRODUCTION

1.1 INTRODUCTION

For long, has the capturing of the essence of architecture, been a considerate challenge in the attempt to control

functionality and complexity [35]. Applied in a wide range of domains, from buildings and construction, to

information systems, architecture addresses different systems or areas, yet still bears common concerns.

Architecture forms the basis for analysis optimizations, validation and a starting point for further developments

and planning. As organizations struggle to cope with complexity and an ever-growing change rate, they turn to

Enterprise Architecture.

As an important role of Enterprise Architecture, modelling the enterprise artifacts and their relations has been the

subject matter of many endeavours. Organizations have made, over the last decades, substantial efforts to

produce architectural blueprints [38]. Graphical representations are an attractive and effective way of conveying

information [26]. Schematic representations, engineering drawings and graphs, are ways to represent models and

play a big role in architecture, but their value is bound to its adequacy and ability to communicate the intended

message to the desired audience, the stakeholders.

Different stakeholders have different needs, and it is not always easy or even possible, to accommodate these

needs into a single model [24], [22]. Stakeholders, in an enterprise context, can be identified ranging from

business or IT management to software engineers (among others), each of them requiring specific information in

an accessible way. To predict the consequences of developments and changes in the enterprise landscape,

whether business or IT, it is crucial to have an overview of what changes and the resulting impact, so that

decision-makers and engineers have access to the information they need to support their actions [30].

To adequately address the needs of the audience and to enforce an engineering approach in the construction of

the architectural representation, the various schools of Enterprise Architecture have turned to more matured

disciplines such as Software Architecture. Terms such as view, viewpoint and concerns have become well

established in the vernacular, leading to the common understanding that a view, whether graphical or not, must

conform to a viewpoint, which establishes the purposes and audience for the view as well as the techniques for

its creation and analysis [24], [31].

Page 14: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

2

1.2 PROBLEM STATEMENT

The effort required to manually maintain enterprise blueprints is greater than what should be required [38] and

therefore, automation is needed to overcome this predicament and still deliver the enterprise blueprints.

“…the truth is that companies fail to have such maps, claiming that update costs are

simply too high given the rate of changes of the organization artifacts…”

Pedro Sousa (2009) [38]

A blueprint, as any other view, relies on a viewpoint to which it conforms. To allow a blueprint to be

automatically created is to imply, in the current scope, that its viewpoint can be expressed programmatically.

Resorting to an algorithmic perspective the viewpoint should identify a finite sequence of well-defined steps for

solving a problem, more specifically, the univocal identification of a view or views. By referring to well-defined,

such entails to non ambiguous and deterministic related behaviour. However, due to the overall maturity level of

the Enterprise Architecture discipline much work is yet to be done.

Informal practices use informal specifications, thus to some extent informal viewpoints. A distinction is in order,

when accusing a viewpoint of informality it is not implied that the structure of the viewpoint is itself a careless

one, however it suggests its content can be.

A common misconception is to rely on identification of notation symbols in a viewpoint as the sufficient

condition to produce representations, [28] is an example of which, Lankhorst [31] on the other hand highlights

concerns accounting the readability and usability of models. It is necessary that representation conventions take

part in the specification, both to impose adequate representation and to allow the automation of such

representations. The visualization of a model should be consistent. In Figure 1 four representations of a same

graph are displayed but have distinct layouts. Although a viewpoint based on notation could have any of these

views conforming to it, a viewpoint that expressed drawing conventions, regarding the layout, couldn‟t. If

restrictions of this kind are not enforced it is deemed impossible the endeavour to produce standardized

representations.

Figure 1 Different representations of the same content.

Page 15: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

3

Inherent to the process of creating and using viewpoints is the concept of scoping, in which the domain to be

represented and the constraints are established. A Blueprint is a graphical representation of information, which

originates from an architectural repository and corresponds to model of the enterprise. An incorporation of the

viewpoint is the specification of the parts of the model to represent, resulting in a view of the model, where

constraints are imposed and the domain of analysis is identified. As previously stated, to avoid ambiguity, a

formal specification is acclaimed. Therefore, the solution encompasses needs on expressing constrains that

dictate which information is selected to be represented on the map.

The problem therefore relates to the ability to define parts of viewpoint that comprise non-ambiguous

specifications from which architectural blueprints can be automatically created.

1.3 THESIS OBJECTIVES

The purpose of this thesis is to exercise the ability to create and manage Enterprise Blueprints, based on their

viewpoints and information maintained in an architectural repository, without manual modelling effort.

Breaking down the previous sentence, the premises and assumptions are as follows:

“…information maintained in an architectural repository…”

o The content to graphically represent by means of a blueprint is comprised in an architectural

repository.

o The architectural repository is a component of an Enterprise Architecture Tool from which the

information is attainable.

o The information and the underlying metamodel are considered “input variables”

“…based on their viewpoints …”

o Such implies that for a blueprint to be successfully automated, one must follow a clear

specification on how to achieve such representation.

o The viewpoints should comprise parts that address the identification of the content, the

representation conventions and means to support the usage of different metamodels.

“…create and manage Enterprise Blueprints…” & “…without manual modelling effort…”

o This assumes that the aforementioned blueprints are subject to automation, achieved through a

software solution, and that there is no human participation in the modelling process.

o The software solution must be able to integrate with the architectural repository and must

accommodate the needs of the viewpoint specification and produce the conforming graphical

views.

In the context of the previous statements and sections this thesis proposes itself to: (1) Establish the means to

specify enterprise blueprints by proposing principles to comprise in the conforming viewpoints; (2) Develop a

software solution that automates the creation of enterprise blueprints; (3) Validate the need for the thesis‟s

approach and its ability to aid organizations in the resolution of real life problems.

Page 16: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

4

1.4 THESIS OUTLINE

The thesis is divided in six chapters each comprising one or more sections.

Chapter 1:

The first chapter addresses the context and scope of the work, by covering the problem statement and the thesis

main objectives.

Chapter 2:

The second chapter is an overview of related work concerning architecture descriptions and commercial tools

that either have the ability to generate graphical representations or that are candidates for providing the

architectural repository to use in the software solution.

Chapter 3:

The third chapter starts by introducing the basics of the approach. Section 4 presents a summary of the approach,

how the work was divided and an introduction to the proposed parts of viewpoints. Section 5 discusses how the

approach is influenced by an ontological system perspective and describes the basic principles used for

modelling an Enterprise as a graph.

Chapter 4:

The fourth chapter concerns the comprised parts of the viewpoints. Section 6 describes the approach regarding

the selection of content of the blueprint and Section 7 concerns the means and process to express graphical

representation constraints.

Chapter 5:

The software solution implemented for this thesis is described in Section 8 with special emphasis on how the

proposed viewpoint parts are addressed. The last section of the fifth chapter describes the context of the projects

in which the approach was put into practice in different Organizations.

Chapter 6:

The sixth chapter comprises the conclusion of this work.

Page 17: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

5

Chapter 02

ARCHITECTURE DESCRIPTIONS AND SUPPORTING

APPLICATIONS: AN OVERVIEW

2 ARCHITECTURE DESCRIPTIONS

Architecture provides means to handle the complexity of systems, to do so the architects need ways to represent

them as clearly and easily as possible. However, due to the heterogeneous nature of the audience, sketches or

over-engineered diagrams do not suffice. Hence one is compelled to review some of the most remarkable

contributions regarding concepts, models, methods, and overall approaches to architecture descriptions.

2.1 4 + 1 VIEW MODEL

The difficulty of capturing the essence of a system‟s architecture, in a diagram, comes as the main driver for the

definition of the “4+1” model. In 1995, Philippe Kruchten [28] published an influential paper in which he

presents a model for describing the architecture of software-intensive systems based on the hypothesis of using

more than one architectural style and the need to adjust the representation according to the stakeholders needs.

The model was later institutionalized as the conceptual basis of the RUP1.

The view model comprises five views:

Logical View: The logical architecture identifies the functional requirements addressing the services

that the system provides to its users. The system is decomposed into a set of key abstractions (e.g.

objects), exploiting also the principles of encapsulation and inheritance.

Development View: This view describes the static organization of the software and its development.

Process View: This view takes into consideration non-functional requirements such as performance and

availability, and aims to capture the concurrency and synchronization aspects of the design.

Physical View: Addresses concerns such as scalability, performance and availability, describing the

mapping of software, hardware and its distribution.

1 Rational Unified Process 2 International Organization for Standardization, http://www.iso.org/.

Page 18: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

6

Scenarios: The “+1” view provides a driver do discover key elements in design validation and

illustration. It shows how the other “4” views work together seamlessly by the use of a small set of

important scenarios (use case instances).

Figure 2 "4+1" view model [28].

Many extensions to this model were proposed over the years such as [39],[32],[27] and[29]. Christine

Hofmeister also defined a similar taxonomy [21], categorizing the architecture into four views:

Conceptual View: Analogue to the “4+1” logical view [39].

Module Architecture View: Describes the interfaces and interdependencies between artifacts.

Code Architecture View: Captures how modules and interfaces in the module view are mapped to

source files and how run-time images in the execution view are related to executable files.

Execution Architecture View: Describes the structure of a system in terms of its run-time platform

elements, such as tasks, processes, threads, and address spaces.

Despite the important contribution of this model, it was still criticized. Although the view model classification

highlights the importance of capturing design decisions it gives no insight on how to do this, thus failing to

define adequate processes for documenting these decisions [9].

Mark Lankhorst [31] raised issues regarding whether or not the concepts used (object classes, associations, etc.)

for communication with end users were the most appropriate, and also pointing out the absence of explanation

on how the modelling concepts contributed to the goals of each view. Due to the existing dependence between

the views, modelling is considered difficult without first going through the scenarios and logical views [33].

Page 19: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

7

2.2 RM-ODP

In 1996, resulting from a joint effort from ISO2, ITU

3 and IEC

4 , emerged RM-ODP

5 (Reference Model of Open

Distributed Processing). The RM-ODP defines concepts necessary to specify open distributed processing

systems from prescribed viewpoints and provides a framework for the structuring of specifications for large-

scale, distributed systems.

The five viewpoints, as presented in Table 1, were chosen to be both simple and complete, covering all the

domains of architectural design6, to primarily enable communication between developers of different systems,

and not between other stakeholders of the same system [33].

Viewpoint

Enterprise Information Computational Engineering Technology

Goal Capture purpose,

scope, and

policies of the

system

Capture

semantics

of information

and

processing

performed by

the system

Express

distribution of

the system in

interacting

objects

Describe design

of distribution-

oriented

aspects

of the system

Describe

choice of

technology

used in the

system

Concern Organizational

requirements

and structure

Information

and processing

required

Distribution of

system

Functional

decomposition

Distribution

of the system,

and mechanisms

and

functions

needed

Hardware and

software

choices

Compliancy

to other views

Notions Objects

Communities

Permissions

Obligations

Contract

...

Object classes

Associations

Process

...

Objects

Interfaces

Interaction

Activities

...

Objects

Channels

Node

Capsule

Cluster

...

Not stated

explicitly

Table 1 RM-ODP viewpoints [31].

A set of general concepts and rules are defined for each viewpoint as well as a language to express them [33].

The RM-ODP does not explicitly associate viewpoints to a specific class of stakeholders, leaving this implicit in

the concerns [31].

2 International Organization for Standardization, http://www.iso.org/. 3 Telecommunication Standardization Sector, http://www.itu.int/ITU-T/. 4 International Electrotechnical Commission, http://www.iec.ch/. 5 Also named ITU-T Rec. X.901-X.904 and ISO/IEC 10746. 6 http://www.rm-odp.net/

Page 20: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

8

2.3 EAB

“What most organizations call an architecture is really a mess of indecipherable diagrams.”

Bernard Boar (1999) [3]

In 1998, driven by the belief that organizations were unable to have a structured approach to recording IT

Architecture, Bernard H. Boar presented EAB7, a methodology that comprises an extensive definition of

concepts with associated notation and well-formed semantics [2]. It starts with an interesting critique on how

architecture diagramming is perceived and its output. The lack of semblance to blueprint rigor added to an

individualized approach creates significant problems. Table 2 compares typical IT drawings with engineering

drawings.

Blueprint issue Engineering drawings Typical IT architecture drawings

Degree of specification of

drawing rules

Formal notation system:

Icons and graphics

Formal text

Precise meanings

Personal notation per drawing

Random icons and graphics

Random text

Ambiguous meaning

Representation of the given

problem

Repeatable Seldom repeatable

Maintenance of model to reflect

reality

Active model One-time model

User expectation Predictable representation Ad hoc representation

Methodology Managed None

Education Formal education and certification No education No certification

Community use of blueprinting

system

Community Practice None

Objects to express Minimum definition of what it

communicates

Personal definition

Completeness of blueprinting Drawing System Personal sketching

Knowledge repository of record The blueprint Individual‟s mind

Visibility of designs High visibility Fog

Table 2 Comparisons between engineering and IT drawings.

The discrepancy between the drawing approaches is pointed out to be a differentiating factor in the ability to

become an “Information Age Predator” [2]. This fierce approach and the use of terms backed by citations of Sun

Tzu, is present throughout the work.

“Those who implement IT architecture well will win and those who don’t will lose”

Bernard Boar (1999) [3]

7 Enterprise IT Architecture Blueprints

Page 21: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

9

A main concept of this approach is the blueprint, which, in analogy to an engineering drawing, uses pictorial

graphics, textual presentation, and notation rules to depict physical and functional end-product requirements [3].

EAB can be used to document eight types of blueprint, presented in Table 3, according to architecture type and

perspective.

Architecture Perspective

Architecture Type Logical Physical Functional Sketch

Infrastructure

Logical

infrastructure

architecture

Physical

infrastructure

architecture

Functional

infrastructure

architecture

Infrastructure architecture

sketch or infrastructure

conceptual architecture

Application

Logical

application

architecture

Physical

application

architecture

Functional

application

architecture

Logical application

architecture or application

conceptual architecture

Table 3 EAB Blueprint types.

An EAB is a rigorously structured document, divided into sections and subsections, which is, in its entirety, the

blueprint. The methodology is structured into 61 notions, each of them is an idea or set of ideas the EAB

practitioner must understand in order to draw and interpret the blueprints. These notions explain how to draw

each type of diagram, how icons and diagrams relate and what each section ought to contain.

There are four core EAB diagrams, each of which illustrates an architecture type by combining its icons with

other icons. The diagrams are:

System Block Diagram – has the system as a central element, coupled with other icons, the diagram

illustrates the architectural structure within and EAB domain from a system-level view.

Platform Diagram – has the platform as central element and illustrates the architectural structure from a

platform-level view.

Interoperability Diagram – illustrates an architecture where both configured platforms and services are

the central elements of granularity, depicting an instance of an information technology device with its

associated interoperability, from an interoperability-level view.

Function Block Diagram – with function block as the central element that provides a mechanism that

enables the display of functional relationships and decomposition of business functions, from a

functional-level view.

Although EAB methodology is presented as rigorous, predictable and unambiguous, it is not short of its

downfalls. According to Vasconcelos [40] one of the major limitations encountered was the inability to

customize EAB templates in order to respond to the necessities and environment of each user. Furthermore, [40]

added that for EAB to be financially profitable the practitioners must be highly experienced and trained – which

is seldom the case.

Page 22: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

10

2.4 IEEE STD. 1471-2000

IEEE Std. 1471-2000 presented a theoretical foundation for the definition, analysis and description of software

architecture. IEEE8 created IEEE Architecture Planning Group, in 1995, followed by IEEE Architecture

Working Group, in 1999, to define IEEE Std.1471 with the purpose of establishing a set of concepts and

designation to describe software architecture. In September 2000, the standard “Recommended Practice for

Architectural Description of Software-Intensive Systems” was approved.

The goal of this standard is not to normalize the system architecture by establishing a fixed number of views or

their nature; neither has it recommended any modelling language or methodology. The framework presented in

Figure 3, identifies, describes and relates various concepts involved in sustainment of architectures of software-

intensive systems, and the recording of such architecture in terms of architectural descriptions.

Figure 3 IEEE Std. 1471 Conceptual Framework.

The following table presents a list of metamodel concepts

Term Definition

Architect The person, team, or organization responsible for systems architecture.

Architecting The activities of defining, documenting, maintaining, improving, and certifying proper

implementation of an architecture.

Architectural

Description A collection of products to document an architecture

8 Institute of Electrical and Electronics Engineers, http://www.ieee.org/

Page 23: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

11

Architecture The fundamental organization of a system embodied in its components, their relationships to

each other, and to the environment, and the principles guiding its design and evolution.

System A collection of components organized to accomplish a specific function or set of functions

System

Stakeholder

An individual, team, or organization (or classes thereof) with interests in, or concerns relative

to, a system.

View A representation of a whole system from the perspective of a related set of concerns

Viewpoint

A specification of the conventions for constructing and using a view. A pattern or template

from which to develop individual views by establishing the purposes and audience for a view

and the techniques for its creation and analysis.

Table 4 Definitions of IEEE Std. 1471 Conceptual Framework.

The terms view and viewpoint are central to the recommended practice. The term viewpoint was chosen to align

with that of RM-ODP, which although has no separate term for view, defines viewpoint (on a system) as:

“…a form of abstraction achieved using a selected set of architectural constructs and structuring rules, in order

to focus on particular concerns within a system.”

A view may contain various architectural models, allowing it to use multiple notations and a model shared by

multiple views; however, each view is defined by only one viewpoint. A viewpoint is specified by:

Viewpoint name;

Target stakeholders;

Target concerns;

Language, modelling techniques, or analytical methods used to construct a view based on the

viewpoint;

Source of the library viewpoint.

Table 5 regards an example of a viewpoint defined in [24].

Behavioral viewpoint

The behavioral viewpoint has a long history, prior to its use in architecture in the systems engineering,

simulation, and software engineering/design communities. Examples include Petri nets, parallel path

expressions, and constrained expressions.

The behavioral viewpoint may be specified as follows:

Concerns

What are the dynamic actions of and within a system?

What are the kinds of actions the system produces and participates in?

How do those actions relate (ordering, synchronization, etc.)?

What are the behaviors of system components? How do they interact?

Modeling methods

Events, processes, states, and operations on those entities.

Analytic methods

Some examples are: communicating sequential processes, the pi-calculus, and partially ordered sets of events.

Table 5 Behavioral viewpoint defined in [24].

Page 24: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

12

Nevertheless, Richard Hilliard [20] underlined that these simple requirements leave much to the imagination of

the defining architect and proposed a template for recording viewpoints, which met the requirements of IEEE

1471. Table 6 describes the overall structure of the template. The description is based on the work of [8].

Section Description

Viewpoint Name The name of the viewpoint and any known aliases.

Overview An abstract or brief overview of the viewpoint and its key features.

Concerns A listing of the architecture related concerns framed by this viewpoint.

Anti-Concerns Optional. It can be useful to document the kinds of issues a viewpoint is not

appropriate for. Articulating anti-concerns may be a good antidote for certain overly

used notations.

Typical Stakeholders Optional. The typical audiences for views prepared using this viewpoint. Who are the

usual stakeholders for this kind of view?

Model types Identify each type of model used by the viewpoint.

Model languages For each type of model used, describe the language or modeling techniques to be

used. Each model language is a key modeling resource that the viewpoint makes

available. Model languages provide the vocabularies for constructing the view.

Viewpoint

metamodels

Optional. A metamodel presents the conceptual entities, their attributes and the

relationships that comprise the vocabulary of a type of model. Any metamodel should

capture:

Entities: What are the major sorts of elements are present in this type of model?

Attributes: What properties do entities in this type of model possess?

Relationships: What relations are defined among entities within this type of

model?

Constraints: What kinds of constraints are there on entities, attributes or

relationships within this type of model?

Conforming

Notations

Identify an existing notation or model language to be used for this type of model.

Model

correspondence rules

The viewpoint may specify model correspondence rules. Each one may be

documented here.

Operations on views Operations define the methods which may be applied to views and their models.

Operations can be divided into categories:

Creation methods are the means by which views are prepared using the

viewpoint. These could be in the form of process guidance (how to start, what to

do next); or work product guidance (templates for views of this type); heuristics,

styles, patterns, or other idioms.

Interpretive methods provide the means by which views are to be understood by

readers and system stakeholders.

Analyses methods are used to check, reason about, transform, predict, apply and

evaluate architectural results from this view.

Implementation methods capture how to realize or construct systems using

information from this view.

Examples Optional. This section provides examples for the reader.

Notes Optional. Any additional information users of the viewpoint may need.

Sources What are the sources for this viewpoint, if any? This may include author, history,

literature references, prior art, etc.

Table 6 Summarized sections of the Hilliard’s Viewpoint template [8].

Page 25: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

13

In 2000, the only requirement on consistency was that a description must record any known inconsistencies

among its views [15]. ISO/IEC 42010 WD1 proposed a mechanism to record the relations between architectural

views. Nelis Boucké presented additional work on this matter [5]. Considering two viewpoints on a system, a

Logical Viewpoint, and a Deployment Viewpoint, David Emery [15] presented the following as an example for a

useful viewpoint correspondence rule:

“Every software element identified in the Logical View must be allocated to at least one computational element

in the Deployment View.”

In sum, this approach made a great contribution to the software architecture communities and many others, even

so to this day it is still subject to continuous improvement and refinement whether through its new denomination

of ISO/IEC 42010 or the countless adaptations to other domains, such as Enterprise Architecture in ArchiMate.

2.5 ARCHIMATE ON VIEWPOINT CLASSIFICATION

ArchiMate9 is The Open Group's

10 modelling language for enterprise architecture, based on IEEE Std.1471. The

development process started July 2002 and lasted until December 2004 resulting in [31], among other things.

The subject of this subsection is the extension on IEEE Std.1471‟s viewpoint notion, regarding its classification.

To assist in the selection of the appropriate viewpoint, [31] introduced a loose framework for definition and

classification of viewpoints and views.

Typical Stakeholder Purpose Examples

Design Architect, software

developer, business

process designer

Navigate, design, support

design decisions, compare

alternatives

UML diagram,

BPMN diagram,

flowchart, ER diagram

Deciding Manager, CIO, CEO Decision making Cross-reference table, landscape map,

list, report

Informing Employee, customer,

others

Explain, convince, obtain

commitment

Animation, cartoon, process

illustration, chart

Table 7 Viewpoint purpose dimension [31].

Typical Stakeholder Purpose Examples

Details Software engineer, process

owner

Design, manage UML class diagram, Testbed process

diagram

Coherence Operational managers Analyze dependencies,

impact of change

Views expressing relations like „use‟,

„realize‟ and „assign‟

Overview Enterprise architect,

CIO, CEO

Change management Landscape map

Table 8 Viewpoint abstraction levels [31].

9 http://www.archimate.org/ 10 http://www.opengroup.org/

Page 26: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

14

The matter of using viewpoints also comes into question when the authors, based in their experience, present the

stages through which the use of an architectural viewpoint will pass [31]:

1. Scoping – Select the viewpoint, the domain to be represented and the constraints.

2. Creation of views – Create or select a view conforming to the viewpoint.

3. Validation – Validate the resulting view with the designated stakeholders.

4. Obtaining commitment – If the stakeholders agreed, will they commit to the impact of what is described

by the view?

5. Informing – Inform adjacent stakeholders, members with less decision power, considered less crucial,

but still important.

2.6 AN ONTOLOGICAL SYSTEM PERSPECTIVE ON ENTERPRISE BLUEPRINTS

In 2009, Pedro Sousa, driven by the difficulty of keeping enterprise blueprints updated, presented a project

oriented approach for dealing with this problem [38].

With special focus on the IT domain, considerations were made regarding automated mechanisms able to solve

the blueprint issue. Briefly, it is an essay proposing new requirements for known theories and models to allow

blueprints to be systematically produced and maintained in real organizations. The creation and management of

blueprints is accomplished through a blueprint engine.

The approach identified two main requirements for keeping blueprints up to date:

Information about what has changed – The information is attained from IT project planning sources. In

order to automatically produce representations the information consumed must be reliable and

bidirectional11

Set of rules to update the blueprints – Formal specification of the blueprints and the artifacts each

should depict.

Although information retrieval from IT project sources is out of our scope, the rigorous specification is not. The

formalization laid some initial notions but the connection between some important architecture jargons (e.g.

viewpoints) was left astray.

The system-oriented vision of the paper obliges further study on the fundamental system perspectives: function

and construction [12].

2.6.1 System perspectives

Related to the function of the system, the teleological perspective concerns the goal or the purpose of the system.

This perspective is also called black-box, since knowledge about construction and operation of the system is not

addressed [22].

11 Changes in blueprints should propagate back to the enterprise information pool.

Page 27: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

15

The construction of the system, deals with what the system is. This is the ontological system perspective, which

is also referenced to as the white-box perspective, since the knowledge regarding construction and operation of

the system is essential [22].

In the scope of this thesis and the basic grounds of [38], the adequate perspective is the ontological, if the system

is the enterprise and its representation is intended, only from knowing its construction and operation can this be

achieved.

2.6.2 Ontological System Definition

The following notions are from [12].

Reference to two special symbols is required:

≺ means “is part of”;

⊳ means “acts upon” – If x ⊳ y and y ⊳ x, then x and y interact.

Something is a system if and only if it has the following properties:

Composition: a set of elements of some category

Environment: a set of element of the same category

Production: the elements in the composition produce things that are deliverable to the elements in the

environment.

Structure: a set of influence bonds among the elements in the composition, and between them and the

elements in the environment.

Let σ be a system and Γ the category of σ, then,

Composition as C of σ is defined as

(01). ≺

Environment as E of σ is defined as:

(02). ⊳ ⊳

Structure as S of σ is defined as:

(03). , ⊳ ⊳ ,

Let σ1 with the construction < C(σ1), E(σ1), S(σ1) > and σ2 with the construction < C(σ2), E(σ2), S(σ2) > . Then σ2

is a subsystem of system σ1 if and only if

(04).

(05).

Page 28: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

16

(06).

2.6.3 Basic Grounds

Starting from the ontological system definition [38] presented its practical basic grounds.

Id. Notion Description

E Enterprise Modelled as a graph G.

A Artifacts Set of all artifacts.

R Relationships Set of all relationships.

G Graph The vertices are artifacts; The edges are relationships.

Types Set of all types12.

A type γ defines the properties and restrictions imposed on artifacts of that type.

P Property Artifacts attribute.

Table 9 Notions of [38].

As in any enterprise, G into which it is modelled, is also affected by the change, so let , represent the

value of G at time t, where t is a discrete variable corresponding to the succession of states , of

, .

If an artifact has a type Γ then “a IsA γ” and “γ = type (a)”, which states that γ is of the type of the

artifact a. The relationships, or structural bounds [12], are also typified according to the vertices to which they

are connected.

Accommodating these alterations, the definitions of Composition, Environment and Structure are respectively, as

follows:

(07). ≺

(08). ⊳ ⊳

(09). , ⊳ ⊳ ,

Having exposed the basics of the formalization language, [38] introduces the basic views: Organic, VORG;

Environment, VENV; Composition, VCOMP; Structure, VSTR.

The Organic View depicts artifacts of type system that are contained in the set TORG and has a property value

PORG present in OrgHierarchySet. The latter holds hierarchy values by which the artifacts will be graphically laid

out.

12 The notion category is addressed as type in this paper.

Page 29: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

17

(10). , ,

The Environment View of a system depicts artifacts held in E(σ) during t.

(11). , ,

The Composition View of a system addresses artifacts contained in C(σ) at time t.

(12). , ,

The Structure View represents all the relationships of all artifacts related to the system at t.

(13). , , , , , ,

Page 30: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

18

3 RELATED TOOLS

3.1 AUTOMATIC DIAGRAM LAYOUT

To understand the requirements of an automatic diagram layout for the blueprint generation engine it was

necessary to catch a glimpse of what has been done on this subject. Although none of the following fully

addresses the needs of the blueprint engine, they are all either commercial success or results of academic

researches that resulted in commercial products. In this section, three case tools are overviewed, and their

diagram layout capabilities identified.

3.1.1 Magic Draw

MagicDraw13

UML is a CASE tool developed by No Magic, Inc.14

, considered a state-of-the-art UML

programming solution, providing code engineering, structure retrieval and diagramming functionality. The

solution grows from its ability to host a large number of plug-ins (DoDaf, SysML, DOORS, Rational

RequisitePro etc.). An open API makes MagicDraw customizable allowing user to access diagrams, the model

and the graphical interface from their plug-ins.

Code and database engineering enables the preparation of code skeletons from UML model and vice-versa.

MagicDraw layout mechanism presents two categories of layout tools: general layout tools and specific diagram

layout tools15

.

3.1.2 Nevron .NET Vision

Nevron .NET Vision16

is a suite, from Nevron, to create data presentation applications for the .NET framework,

featuring charting, diagramming and user interface components, for Windows Forms and ASP.NET. The most

noteworthy component, in the current scope, is Nevron Diagram for .NET and its automatic arrangement of

diagrams feature. The application supports both mesh and grid connectors routing, and accommodates tree

layouts, graph layouts and cell layouts.

3.1.3 yFiles for .Net

yFiles.NET is a Windows Forms class library for the Microsoft .NET environment, functionality to

automatically calculate layouts for graphs, diagrams, and networks. The integration with components is done

programmatically. yFiles supports other technologies such as Java, AJAX and Flex. Their layout capabilities are

categorized into three types of algorithms:

Graph layout algorithms: Responsible for assigning coordinates to all graph elements: nodes and edges.

Edge routing algorithms: Compute edge paths and leave the nodes of the graph unchanged.

Label placement algorithms: Perform no operation on either a graph's nodes or its edge paths, but

compute suitable positions for labels.

13 http://www.magicdraw.com/ 14 http://www.nomagic.com/ 15 http://www.magicdraw.com/files/manuals/MagicDraw%20UserManual.pdf 16 http://www.nevron.com/Products.Nevron.NETVision.Overview.aspx

Page 31: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

19

3.1.4 Layouts and Routing Algorithms

The following is a compilation of algorithms of the aforementioned tools.

Tree Layout Description

Layered The algorithm displays the tree‟s vertices into layers.

Compact The algorithm displays a tree with depth arrangement of the vertices as compact as possible.

Tip Over The algorithm displays the children vertices of a vertex in either a single row or a single

column.

Balloon Layouts the children vertices in a single circle around its parent vertex.

Table 10 Tree layout algorithms.

Graph Layout Description

Hierarchical The algorithm displays the graph‟s vertices into layers.

Organic The algorithm applies the force-directed layout paradigm. While calculating a layout, the

nodes are considered physical objects with mutually repulsive forces; the connections also

follow the physical analogy and are considered springs that produce repulsive or attractive

forces between their end points if they are too short or too long. The layout algorithm

rearranges the positions of the nodes in such a way that the sum of the forces reaches a

minimum.

Orthogonal The algorithm displays the graph only with orthogonal edges and minimizes the drawing

area, edge crossings and edge bends.

Symmetrical The algorithm applies the force-directed layout paradigm. It produces straight-line graph

drawings with uniform edge lengths. Also couples attractive and repulsive forces, which

balance each other at a specified edge length.

Barycentre The barycentre layout method splits the graph into a set of fixed and free vertices. Fixed

vertices are nailed to the corners of a strictly convex polygon, while free vertices are placed

in the barycentre of their neighbours.

Circular Layout algorithm that portraits interconnected ring and star topologies

Table 11 Graph layout algorithms.

Edge Routing Description

Stack The stack layout represents a directed, constrained cells layout, which stacks the cells in

horizontal or vertical order.

Flow The flow layout represents a directed constrained cells layout, which arranges the cells in

horizontal or vertical lanes.

Table Arranges cells in a tabular manner (e.g. preserves tabular metrics).

Dock The dock layout represents a space eating cells layout, which places vertices at per-vertex

specified docking areas of the currently available layout area.

Table 12 Edge routing algorithms.

Page 32: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

20

3.2 ENTERPRISE ARCHITECTURE TOOLS

“Many enterprises start off using diagramming tools and spreadsheets to document

their architectures. Although this can be useful initially, ensuring consistency of these

documents becomes extremely difficult once artifacts appear in multiple places. For

example, an application might appear on a diagram depicting a server, a diagram

depicting a business process and a diagram depicting the application’s interfaces.

Changes to the application might require opportunities for inconsistency and

inaccuracy.”

Gartner (2008) [17]

3.2.1 Rational System Architect

After a careful analysis, the chosen enterprise architecture tool was IBM Rational System Architect17

. Two main

factors lead to this decision. The blueprint engine needs interoperability, which System Architect provides via

their Application Program Interface (API). Provided in VBA 6.5, we are able to access the API through .Net

Framework thus allowing the use of more recent technology able to withstand the demands of the software

solution. Rational System Architect not only comes with a solid repository able to provide the model

information, but also, through its drawing it is possible to create the diagrams in which to draw the blueprints

and save them directly in the repository. The later reason is due to availability

3.2.2 EA Tools Overview

A major issue when choosing an enterprise architectural approach is the availability of tools to support the

various activities such as development, storage, presentation and architectural representation [25]. The market

for enterprise architecture tools, much like enterprise architecture methodologies, is still in an immature state

[25], [31]. It is important to understand the major characteristics and features of these instruments and analyze

their technical capability to support the solution.

Countless enterprise architecture initiatives are haunted right from the start due to the lack of adequacy of the

products that support them. These tools must feature key elements such as a repository, retrieval of models,

metamodels and so forth.

In 2005, Mark Lankhorst [31] proposed subdivision into the following categories:

Modelling and Design: Tools that support modelling and design of models.

Reporting and Publication: Tools that allow the construction of reports and viewpoints for specific

stakeholders

Storage and Retrieval: Metadata repositories that store models, metamodels and perspective related

specifications.

17 http://www-01.ibm.com/software/awdtools/systemarchitect/

Page 33: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

21

In 2008, Gartner [17] presented these four minimal requirements:

The existence of a repository.

A flexible metamodel that support relationships in various viewpoints.

The ability to create or import models and artifacts.

The ability to present repository information to support the stakeholders needs.

The following year Gartner [18] redefined minimal requirements as:

The ability to create or import models and artifacts;

The ability to present repository information to support the stakeholders needs;

A robust and flexible repository and meta-model that support changes and temporal relationships;

Administrative capabilities (audit, configuration, versioning).

As the years pass, requirements continue to change due to the developing maturity of these instruments [16]. The

existence of a metamodel evolved to the existence of an easily configurable metamodel that accommodates

change and complex relationships. Despite recent developments, there are still important features pushed aside

into second plan. Tools are usually not designed with interoperability in mind, feature that is of extreme

importance when faced with the necessity to integrate information from a myriad of sources (IT Management

Tools, Software design and development tools, etc.) [31]. This leads to the matter of in what dimension are EA

Tools reviewed.

The EA Tools Review Framework consists of two dimensions: the basic functionality of the tool, and the utility

of the tool to different professionals [25]. The Gartner Group also defines two criteria axis: Ability to Execute;

Completeness of Vision. Forrester defines three evaluation categories, Current Offering, Market Presence and

Strategy.

Figure 4 Magic Quadrant for Enterprise Architecture

Tools [17].

Figure 5 Forrester Wave: Enterprise Architecture Tools

[16].

Page 34: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

22

Page 35: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

23

Chapter 03

THE PROPOSED APPROACH

4 APPROACH SUMMARY

This thesis presents an approach for the automated creation of views that conform to the constraints of a

viewpoint. The developed work resorts to influences from formal disciplines such as graph theory, set theory and

to the idea of the Enterprise modelled as a graph, to univocally specify the content to be comprised in a view and

to describe the representation conventions that enforce how the content should be represented. From this

perspective, the approach proposes that the effort associated with the process of creating and of maintaining

architectural blueprints can be reduced through the incorporation of the automation of these processes in a

software solution. Therefore, as a reaction to the problem statement, this thesis proposes an approach to define

and use non-ambiguous viewpoint specifications to enable the use of automation in the constructions of

enterprise blueprints.

The work can be disaggregated into two stages:

Establish the means to specify the construction of enterprise blueprints;

Produce a software solution that automates the creation of enterprise blueprints.

4.1 FIRST STAGE

The first stage concerns the construction of viewpoints. The idea is not to propose a complete viewpoint template

but instead to identify and describe viewpoint sections, required by the approach, to enable the automated

creation of enterprise blueprints. Following the work of [38], the enterprise is perceived as a system and is

modelled as a graph, which is to say that the ontological system notion influences the classification of the graph

(If it is connected or unconnected and so forth). Such graph is the base model for the specifications comprised by

the viewpoint. Further detail on this matter is covered in section 5.2.

The current approach complies with the motto “Make a clear distinction between a model and its visualization”

[31] and enforces that the selection of the appropriate domain of a viewpoint should be distinguished from the

principles that guide its representation. This is a principle regarding concern separation originates from

ArchiMate [31] and is illustrated in Figure 6. The same content can be used in numerous graphical

representations with different notations, layouts or other drawing conventions. To abide to such, the approach

Page 36: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

24

embraces the principle that the guidelines of the graphical representation can be influenced by the view whereas

the opposite is not verified. For example, the classification of the concepts can influence the icons, the colours,

the positioning guidelines, etc.

Model View Visualization

Viewpoint

Architect Stakeholders

select

derive

visualise

Figure 6 Separation of concerns: model, view, visualization and viewpoint. Adaptation from [31].

By imposing on the model a series of constraints, that express concerns and domain boundaries, one identifies

the content to be represented. Considering that the enterprise is modelled as a graph, the identification of the

content is indeed an identification of a sub-graph. Therefore the imposition of a constraint on the graph relates to

the identification of a sub-graph and the definition of the related set of nodes and edges. Thus a view that

conforms to a set of constraints identified in a viewpoint is the result of a union of all these sub-graphs. The

related specifications are addressed by a viewpoint part named Content Viewpoint, which is further described in

section 6.

To address the visualisation of the view, the viewpoint should comprise a second section that identifies not only

the drawing conventions but also the process description, expressing how one can assemble the view and the

conventions to produce the graphical view. The aforementioned viewpoint part is called Graphical Viewpoint

and is described in section 7.

Model View Visualization

Viewpoint

Architect Stakeholders

select

derive

visualise

Content

ViewpointGraphical

Viewpoint

Figure 7 Separation of concerns: considering two viewpoint parts.

Page 37: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

25

Therefore the approach considers two viewpoint sections, illustrated in Figure 7, which are described in Chapter

4 preceded by a detailed description of the notion of an enterprise perceived as a system modelled as a graph in

section 5.

4.2 SECOND STAGE

The second stage of the work concerns the ability to build a software solution around the aforementioned

viewpoint sections and the capacity to automate the creation of the enterprise blueprints. This stage relates to

objectives (2) and (3).

The overall idea is illustrated in Figure 8, were the viewpoint specification serve as input for the solution. The

solution obtains the content from the repository and produces the enterprise blueprints. The solution is described

in section 8

Software Solution

Architectural

Repository

Viewpoints

Specifications Blueprints

Content

Figure 8 Overview of the software solution.

The solution is later be used in architecture initiatives of several organizations to establish if whether or not the

approach is useful to aid in the resolution of real life problems, by supporting up-to-date graphical

representations with no manual effort. The initiatives are described in section 9.

Page 38: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

26

5 APPROACH FOUNDATIONS

What is an adequate formal model for the enterprise? Which are its basic principles and premises? These are

only some of the questions one needs to address. Influenced by architectural concepts such as views and

viewpoints and the ontological system definition, this section sets out to identify how these concepts can take

part in the specification of a formal model of the enterprise, and how such model is exposed to principles of

graph theory, set theory, and other related fields.

5.1 ONTOLOGICAL SYSTEM PERSPECTIVE OF THE ENTERPRISE

The notion of Systemicity regards the universe as a world of interconnected systems, so that everything is a

system or component of a system. Mario Bunge [6] [12] [19] had various intriguing primary concepts concerning

its ontological Model, the Bunge-System Model. Besides claiming that a system can be analysed into its

composition, environment and structure, the model also relies on a perception of the universe as a Systemicity.

Resorting to this concept, and sustained by authors such as Dietz [12] [13], Op't Land [35] and Sousa [38], the

analogy of an Enterprise as a system is regarded has critical to the rationale. Therefore the model used for the

enterprise must be able support this system perspective (see 5.2.2).

The approach recognizes enterprise as coupled with the ontological system notion (see 2.6.2) and therefore

assumes, as in the latter, that the Enterprise has a set of essential properties: composition; structure; environment.

Although [12] and [38] make reference to the property production this works deviates from it. Even though the

property and its notion applied to a system makes perfect sense, it does not take part in the extension of the

thesis.

The Construction of a system is the collection of its composition, environment and structure. The construction

can be described by the elements in the composition and the environment, as well as the relations of the

structure. If the aforementioned properties are part of the enterprise, the collection of its properties is its

construction. An example of a visualization of a construction is presented in Figure 9 where the composition is

represented by the grey elements; the environment is represented by the white elements; the lines represent the

structural bonds between the elements.

Figure 9 Representation of the construction of a system [12].

Page 39: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

27

To cover all pertinent concepts three additional concepts can be referenced. The boundary is what separates the

composition and the environment, depicted by a gray line. The kernel of a system is a collection of the

composition together with the structural bonds between themselves, illustrated by the aggregate of grey elements

and lines fully contained inside the boundary. Finally, the operation is the collective activity between the

elements in the composition and the environment of the system, which is the manifestation of its construction in

the course of time.

The influence of the aforementioned concepts and how their formal definition incorporates the current approach

is covered in the next section.

5.2 AN ENTERPRISE MODELLED AS A GRAPH

The notations used by [12], [36] and [38], as well as the depiction of system constructions in a graph-like

representation, motivated the use of set theory and graph theory principles and concepts as a initial inspiration

for the definition of the specifications to incorporate in the viewpoints.

Graphs are abstract mathematical objects which are designed for describing relations between objects. The

objects are called nodes and the relations between objects are called edges. Graphs have long been a mean to

enable people to visualise information. As in Figure 9 the usage of graph-like diagram is generally understood,

thus powerful. Furthermore, the definition of graphs and their construction is mathematical hence formal. The

current approach recognizes these benefits and therefore considers that graphs are suitable modelling instruments

to encompass the viewpoint needs.

A starting principle of this thesis is that the enterprise is modelled as graph.

5.2.1 The Basics of a Graph Approach

Let an Enterprise E, be modelled as a graph of artifacts and their relationships, respectively the nodes and

edges of the graph. A graph is an ordered pair of disjoint sets , , with being a subset of the set (2)

of unordered pairs of [4]. The model is finite, as it should be considering the reality of an enterprise,

subsequently and are always finite, and respectively represent the set of nodes and the set of edges.

The order of is the number of nodes in and can be denoted by , which can be used for the cardinality

of a set. Thus . The size of is the number of edges in G. Therefore the notation , can

denote a graph of order n and size m.

In general, stakeholders have no interest or advantaged in the full scope and details. Their concerns, state which

parts are deemed relevant [31]. Thus stakeholders require specific views to focus on their concerns and put aside

unnecessary information. If the concerns dictate the accounted constraints in the identification of a construction,

and resorting to a sub-graph enables the selection of a subset of artifacts and relationships of a graph, then a sub-

graph can be considered analogous to the concept of a view. So, sustained by the aforementioned considerations,

by means of sub-graphs of one can address matters such as stakeholder concerns. Since a view conforms to a

viewpoint it becomes apparent that specifications in a viewpoint will to some extent address the definition of

sub-graphs.

Page 40: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

28

A graph , is a sub-graph of , if:

(14).

(15). .

If contains all edges of that joint two nodes in the sub-graph is induced or spanned by and is thus

denoted by . A sub-graph of is an induced sub-graph if . If , then is said to

be a spanning sub-graph of [4]. These notions are illustrated in Figure 10.

Figure 10 Representation of a graph, an induced sub-graph and a spanning sub-graph [41].

Falling on the principle of Systemicity and taking into account that the enterprise is regarded as a system and

modelled as a graph, one could state that , where the universe is modelled as . Thus the

Enterprise is viewed as an induced sub-graph of the universe. But why is it and induction? The answer arises

from distinction between aggregates and systems.

Both an aggregate and a system are collection of items, but only the later has unity and integrity. Due to the

system analogy, and as stated in [6] and [12], the elements are grouped together by interaction bonds, and

therefore a graph modelling a system with unconnected nodes would be deviant. If elements of an enterprise are

not connected on any level, what would be the benefit of their consideration in a study? If there are nodes with

no connections, then they are not part of the construction, thus irrelevant from a perspective of a related set of

concerns. Therefore the connectedness of the graph is an issue.

As stated in [41] graphs are sometimes perceived as a “one piece”, which is an incomplete examination. As

observable in Figure 11 a graph can be either connected or disconnected. A walk in is a finite sequence of

edges in which any two consecutive edges are adjacent or identical, and the number of edges from the initial

node to the final node is called the length [41]. A walk in which all the edges and vertices are distinct is a

path. A graph is connected if and only if there is a path between each pair of relations. So in order to uphold

as an induced subgraph of , a path exists so that from any artifact one can reach any other artifact .

Furthermore in a system perspective, this implies that through the navigation of interaction bonds, any artifact in

the construction is reachable by any other artifact in the construction of the same system.

Page 41: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

29

Figure 11 Example of a connected and a disconnected graph [41].

It is therefore a condition of this approach that the graph is connected and that any sub-graph is also

connected.

Let each artifact have a type , where is the set of all types. The expressions “a IsA y” and

state that is the type of artifact . A type defines the properties for artifacts of that type [38]. A

property can be a value or a reference to another artifact. If a reference exists between artifacts and , then a

relationship exists between them.

An artifact, as the incorporation of items in the construction of a system, can be a system or not. This is

identified by the category of the artifact. The statement implies that is the category of an

artifact . If an artifact is a system then , otherwise if is not a system

then .

Let each relationship be an ordered pair of , have a relationship type18

,where is the

set of all relationship types, and have a category , where is the set of all categories. For all

relationships the representation of relationship , connects the representation of with

the representation of . Although, as referenced in [38], the types of the relations can be influenced by the

types of the connected artifacts, the current approach addresses them as distinct , such is explained further

ahead in this section. A relationship type defines a set of ordered pairs of artifact types, referred to as .

So for , with , , a relationship , of the relationship type can

exist if and .

For a relationship type the statement implies that is the category of . If a relationship

type is classified by a category z then any relationship classified with such type is also associated with the

category. Therefore, for a relationship the statement implies that is the category of r. The

category of a relationship r = , can also be expressed as , instead of

, , for readability purposes.

For each relationship , and type where and r = , there is a

relationship , . So if a relation expressed that “ composes ”, then “ is composed by ”

18 Relationship types will be addressed only as types for simplicity matters, when the context allows it.

Page 42: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

30

could be articulated by the complement relation. In sum the complement inverts the direction allowing a

complementary semantic interpretation

But what if there was more than one edge between the same two nodes? A pure graph 19doesn‟t allow the use of

parallel edges simply because its construction can‟t support it. By observing the Figure 12 and following the

aforementioned notation, even though there are two relationships and using pair notation, it is evident that

, thus leaving room for ambiguity. This issue also affects the notion of relationship type

due to it relying on the same notation. In order to use a pure graph, more nodes and types should be necessary.

Let these nodes be called binding nodes.

A relationship is in fact a pair of edges where the type of the binding node, referenced in both edges, is the

relationship type. The aforementioned ambiguity can be solved by considering such binding nodes. So

considering Figure 12 and using binding nodes and represented in Figure 13, the relationships would be

defined as , , , and , , , .

a01 a02

r01

r02

Figure 12 Representation of ambiguous relationships.

a02a01

c01

c02

Figure 13 Representation of unambiguous relationships.

For the sake of simplicity such abstraction is used throughout the work by considering relationship types.

Furthermore binding nodes are disregarded and therefore not considered in the set of all artifacts of a graph. As a

consequence no references will be made considering different relationships types for the same pair of artifacts.

Such also applies to relationship categories.

Throughout the thesis, sequences of graph operations will be described in pseudo-code. The general pseudo-code

conventions are identified in Appendix A and are based on the conventions used in [37] and [10]. The described

algorithms address to graphs, artifacts, relationships and sets; therefore a further description of associated fields

is in order. For example, since the introduction of set theory by George Cantor in 1874 [11], set has been subject

of various studies and considered one of the most fundamental concepts in mathematics, surrounded by

numerous theorems, corollaries, axioms, mottos, etc. Restrained by the scope of this work, one is only able to

address certain parts of such panoply, therefore only concepts considered essential to the exposure of the thesis‟s

ideas are presented.

19 Such is possible in multi-graphs or pseudo-graphs.

Page 43: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

31

Let a set have an attribute cardinality which identifies the number of elements in a set. Therefore, for a set

, , , . An empty set is identified by the symbol .

Regarding a graph , , two attributes are introduced. The set of nodes of a graph is available through

the attribute nodes of the graph, so that . The set of relationships of a graph is provided by the

field edges, where . The creation of a node with “ID” as the identifier has the form I

and the declaration of a new edge between the nodes and is denoted as , . The creation of

a graph is expressed in the form graph ( , ) where the two empty sets address the set of nodes and the set of

edges.

For a directed edge , where and are artifacts, one can use attributes to identify the first

element of the pair, called origin; or to identify the second element, called the destiny. So let a relationship r

have an attribute origin were , and have an attribute destiny were .

5.2.2 Supporting the System Perspective

In accordance to a system‟s essential properties (see 2.6.2) there must be a clear way to identify the composition,

environment and structure of the system. The approach resorts to the relationship categories for the distinction

of elements of the construction, therefore uses three categories, each corresponding to an essential system

property. So with as the set of all categories its definition is:

(16). I , I , I

The category ISCOMPOSITION is intended to aid in the identification of elements that belong to the composition of a

system. For a relationship , and I = category(r):

The pair , intendeds to express “ is composed by ”.

The pair , intendeds to express “ composes ”.

The artifact category of is such that

The definition of the composition of a system (07) for a system can then be expressed as:

(17). ≺ ,

≺ ,

≺ ,

The category ISENVIRONMENT is intended to aid in the identification of elements that belong to the environment of

a system. For a relationship , and I = category(r):

The intended meaning of , is “ has in its environment ”.

The intended meaning of , is “ belongs to the environment of ”.

The artifact category is such that

Page 44: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

32

The definition of the environment of a system (08) for a system can be expressed as:

(18). ,

,

The category ISSTRUCTURE is proposed to aid in the identification of the unordered pairs of elements that express

the structure of a system. For an artifact with , a relationship , and

where :

The intended meaning of { , is “ and establish a structural relationship of a system”.

The definition of the structure of a system (09) for a system can then be expressed as:

(19). , , I ,

5.2.3 Using the System Perspective

To best understand previous implications an example is in order. The objective of the following example is the

identification of the construction of a system based on a scenario s01 that comprises the construction of a

graph , and the identification of the relationship categories. The construction is obtained by resorting to the

application of the definitions in (17), (18) and (19).

Let Figure 14 be a representation of a graph , which is a subgraph of a , representing a partial view20

of

the construction of a system .

The graph is defined as such:

(20). ,

(21). , , , , , , , , ,

(22). , , , , , , , , , , , , , ,

, , , , , , , , , , , , , , ,

20 The view includes the identification of the relationship‟s categories instead of its types as displayed previously.

Page 45: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

33

a11

a01

a12

a13

a22

a24

a21

a23

a25

a26

ISENVIRO

NMENT

ISSTRUCTURE

ISCOMPOSI

TION ISCOMPOSITION

ISSTRUCT

URE

ISCOMPOSITION

ISCOM

POSITION

ISCOMPOSITION

ISCOMPOSITION IS

STRUCTURE

ISSTRUCTURE

ISSTRUCTURE

ISSTRUCTURE

ISCOMPOSITION

ISCOMPOSITION

Figure 14 Representation of the graph for s01.

The distribution of the relationships by category is as follows:

(23). , , ,

, , , , ,

,

(24). ,

(25). , ,

, , ,

,

To conform to (17) and by analysing (23), artifacts , and must represent systems and therefore:

(26).

The partial construction21

of the system , according to (17), (18) and (19), is as follows:

(27). , , ,

(28). ,

(29). , , , , ,

21 Since the construction may not be completely represented.

Page 46: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

34

The partial construction of the system , according to (17), (18) and (19), is as follows:

(30). ,

(31).

(32). ,

With system with the construction , , , system with the construction < C( ),

E( ), S( ) > and with the construction , , , then and are subsystems of

, if and only if the conditions (04), (05) and (06) are verified such that :

(33).

(34).

(35).

(36).

(37).

(38).

Therefore the partial construction , , of the system is defined by:

(39). y y ≺ , y I z y y

I z ≺ y y, z I y ≺ , y

I

, a a

, , , , ,

, , , , , , ,

(40). ,

,

(41). , x, y I ,

01)}

, , , , , , , , , , ,

Page 47: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

35

5.2.4 Time Dimension

An enterprise is constantly subject to change, and the ability to accommodate an ever-growing change rate is a

major factor regarding the survivability of an enterprise. How can time influence the enterprise model? Each

occasion the reality of the enterprise is altered, that change must be propagated to its model. In [38] the agents

responsible for change were the projects, and the artifacts of the graph had an associated state of existence. Since

addressing the time dimension is related only to the capacity to accommodate the evolution of the model, the

project perspective is considered outside the scope and only the artifact‟s states of existence are considered.

The idea is that the enterprise in a moment t is a view of the graph and therefore a sub-graph of . The

appointed moment in time or an ordered array of adjacent moments identify the view‟s constraints. Therefore by

resorting to the artifacts property values and comparing them to the imposed value or range of values, it should

be possible to identify a sub-graph that represents the enterprise in the addressed time reference.

Let the artifacts have a property that identifies the moment in time it became “alive” and a property

that identifies the moment when it becomes “dead”.

Let be a representation of the enterprise at the moment t, where is an induced sub-graph of and is

defined by the following:

(42). ,

(43).

(44). ,

So let

be a representation of the enterprise in the between the moment and , and is defined by the

following:

(45).

,

(46).

(47).

,

Having described how sub-graphs can be defined and used as views constrained by a single moment or a

collection let a scenario comprise a graph illustrated in Figure 15, where the property values of graph‟s

artifacts are defined in Table 13.

Page 48: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

36

a05

a01 a02

a03a04

a06

Figure 15 Representation of the graph of scenario s02.

0 0

0 0

0 10

0 10

2 3

4 10

Table 13 Property values of the artifacts in s02.

Taking into account and the view specifications:

Figure 16[a] is an example of a representation of a sub-graph

of

for and .

Figure 16[b] is an example of a representation of a sub-graph of

for .

Figure 16[c] is an example of a representation of a sub-graph of

for .

a01 a02

a03a04

a01 a02

a03a04

a06

[b] [c]

a01 a02

a03

a05

a04

[a]

Figure 16 Representation of the sub-graphs in distinct time intervals.

The notion of time is transversal to the approach. To apply time dimension principles to any other graph

specification the only condition that must be verified is that the graph must be a sub-graph of . However, since

the constant use of time views would add unwanted complexity to the presentation of the remaining graph

related specifications, the time dimension will only again be taken into account in 8.4.

Page 49: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

37

Chapter 04

COMPRISED SECTIONS OF A VIEWPOINT

6 CONTENT VIEWPOINTS

A content viewpoint is a part of a viewpoint, which comprises the specifications of the constraints and concerns

that dictated which content will be graphically represented in a blueprint. This section addresses the concepts and

principles inherent to the construction of a view.

6.1 CONTENT METAMODEL

The ability to accommodate different metamodels must be covered. Also required is the ability to deal, to some

extent, with changes encompassed by metamodels. Different viewpoints can comprise distinct metamodels

therefore a viewpoint must either specify the metamodel to which it refers to or make reference to its

specification.

The content metamodel identifies how the artifact types and relationship types, addressed by , are structured.

Let the content metamodel be modelled as the graph , as an ordered pair of sets, such that , ,

where is the set of all artifact types, modelled as nodes, and the set of all relationship types. Each pair of

artifact types in PPAIRS defined by a relationship type is modelled by an edge. The graph has the same

characteristics as and therefore it is a finite, directed, connected graph.

A viewpoint may comprise or reference the complete content metamodel or a sub-graph of the metamodel.

Any partial reference must abide to the principle that a graph is an induced sub-graph of .

The set of artifact types and the set relationship types of a graph are the same as the ones used to classify the

construction of .

(48).

(49).

However if only a partial metamodel is referenced and considering (14) and (15), then:

(50).

(51).

Page 50: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

38

Taking the former into account it becomes obvious that the use of partial metamodels results in a first level of

constraints, hence the limitations imposed by the metamodel have to be verified in the remaining specifications.

Since the metamodel can be affected by change, a good practice is to minimise the impact on viewpoint

specification that was introduced by the changes. By adding a level of indirection one can defend itself from

simple changes such as the use of different concept identifiers, either due to someone deciding that the name was

no longer appropriate or simply because the metamodel is implemented abroad and the language is, for example,

Spanish instead of English. This level of indirection is achieved by a correspondence mapping, which also

allows the use of simple and abstract identifiers that can avoid context influences to the specification. The need

for this level of indirection was identified from real-life architecture initiatives, where constant malpractices

remain: Even after the specification of the viewpoints, the enterprise metamodel was still in transformation.

Faced with such a reality a cross-validation instrument became needed.

6.1.1 Correspondence Mapping

Information sources of an enterprise are spread throughout various infrastructures, formats and are generally

inconsistent. As the most valuable asset of an enterprise, its dubious reliability and the difficulty to access it has

long been a problem subject to numerous studies, initiatives and so forth that continues do dazzle and torment

the IT Community. Restricting the subject to the scope of this thesis, a well established practice in Enterprise

Architecture is the consolidation of all the essential information in a central repository, an architectural

repository. Through this centralization effort, a more accurate model of the enterprise is expected.

As stated in 1.3 the information used to create and manage Blueprints, is maintained by an architectural

repository. Such information is considered as a premise to be adequate to serve as the model of an enterprise and

therefore a bridge must be established between the repository and the specifications encompassed by the

viewpoints.

The architectural repository used for this work is object oriented in a matter that information is encapsulated into

class instances, with attributes inherited from its class type, and structured by references between such instances.

Let an instance I instantiate class , where is the set of all instances, and is the set of all classes.

The statement implies that an instance is an instantiation of a class . Let a reference

have a reference type , where is the set of all references and the set of all reference types.

The correspondence between the repository and a graph has the following guidelines:

Each instance is modelled as an artifact;

An instance is to a class as an artifact is to its type;

Each attribute of an instance matches a property in an artifact;

Each reference between instances is modelled as a relationship between artifacts;

A reference is typified the same way a relationship is.

For a repository to be referenced by a viewpoint a correspondence mapping must be defined. The purpose of

such mapping is to establish the association between the set of classes and artifact types, between reference types

Page 51: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

39

and relationship types, and the identification of the categories. The matching of the types is used to validate the

specification of the metamodel and subsequently employed for the same purpose for any other that makes

reference to the metamodel as a validation instrument.

Let a correspondence mapping, identified by , have a construction , , , where:

The artifact correspondence mapping is a set of pairs where the first element of each pair is a class

and the second is an artifact type.

o Each of these pairs establishes a correspondence between the class and the artifact type.

o The existence of a pair , where and , implies that any I that is

an instance of is modelled as an artifact that is classified with the type .

The relationship correspondence mapping is a set of pairs where the first element of each pair is a

reference type and the second is a relationship type.

o Each of these pairs establishes a correspondence between the reference type and the

relationship type.

o The existence of a pair , where and , implies that any with a

type is modelled as a relationship that is classified with the type

The category correspondence mapping is a set of pairs < z, where the first element

identifies a relationship category and the second is a set of reference types that are classified according

to the category.

The system correspondence mapping is a set denoting the classes to be covered by the artifact

category ISSYSTEM.

By determining the correspondences, one is also establishing the available types and categories. The artifact

types and relationship types available for the specification of a viewpoint, that addresses the correspondence

mapping, can be identified by (52) and (53) respectively. The expression in (54) denotes the available

relationship categories, whereas (55) determines the relationship category of a relationship type.

(52). y , y

(53). ,

(54). z,

(55). catego y z, ,

A viewpoint may comprise the complete correspondence mapping of a repository or simply a part of it, given

that viewpoints can be subject to pre-scoping. A partial correspondence mapping ‟ is well-founded if it

originated from a valid correspondence mapping and the following is verified:

(56).

(57).

Page 52: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

40

(58).

(59). z z p z ,

z z p z , z

How does one validate a correspondence mapping? If all the elements in the construction are well-structured

then the correspondence mapping is valid. The artifact correspondence mapping must abide the following:

An artifact type models one and only one class, and a class cannot be modelled by more than one

artifact type, hence there can only be one occurrence of each class or type (60).

(60). y y , y

y y , y p p y

The relationship correspondence mapping must abide the following:

A relationship type models one and only one reference type, and a reference type cannot be modelled

by more than one relationship type, hence there can only be one occurrence of each relationship type or

reference type (61).

(61). ,

, p p

The category correspondence mapping is well defined if:

There is only one occurrence for each category;

A reference type is associated with only one category;

Hence:

(62). z z p z ,

z z p z , p p

z

To establish the relation of the types identified in and the types of and if the correspondence mapping is

complete then:

(63).

(64).

However if the correspondence mapping is partial then considering (56) and (57) :

(65).

(66).

Page 53: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

41

Therefore, regressing to the content metamodel then taking into account (50),(51),(63),(64),(65) and (66) :

(67).

(68).

(69).

(70).

6.1.2 Using Correspondence Mapping and Metamodel

This section describes a scenario which is an example of the definition of a correspondence map

and the associated . Besides contextualizing the utilization of the aforementioned instruments it will also

support further examples and scenarios presented in remaining sections.

The scenario starts from a populated repository modelled as the graph

, , a

correspondence mapping and a content metamodel modelled as a graph

, . The

contents of the repository will be address be means of sub-scenarios throughout the remaining chapters. The

construction of is defined by:

(71). , , , , , ,

, , , , , ,

, , , ,

,

(72). , , , , , , , ,

, , , , ,

(73). , , , ,

, , , , ,

(74). , , ,

Page 54: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

42

TAPPLICATIO

N

TCOMPONEN

T

TPLATFORM

TENTITY

TPROCESS

TPROJECT

TSTAKEHOL

DER

TSOLUTIONTDOMAIN R01

R01

R01

R02

R03 R05

R04

R06R07

Figure 17 Representation of the content metamodel for s03.

Let , illustrated in Figure 17, be the metamodel for , detailed as:

(75). , , , , , , ,

,

(76). , , , , , ,

(77). , , , ,

,

(78). ,

(79). ,

(80). ,

(81). ,

(82). ,

(83). ,

(84).

(85).

(86). , , , ,

Page 55: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

43

6.2 BLUEPRINT CONTENT SELECTION

When creating a view, a set of procedures to take into account the concerns for which the view is built, therefore

to produce an enterprise blueprint one must encompass means on how to select its adequate content.

The content selected from the graph is named addressed content and it is modelled as a graph

, , which is a sub-graph of the graph .

The concerns of a stakeholder are not always simple, to cope with complexity and to enable adequate answers,

the questions must sometimes be broken down into smaller parts. In the current context, such implies that

can result of the union of more granular parts. So, let a graph , model the result of imposing

a constraint on and be named content selection condition. Hence is a sub-graph of and results of

the union of all :

(87).

An initial question may arise, how granular can a selection condition get? In an extreme perspective, the graph

would be a construction of two empty sets, but the usefulness of such liberty would be none. The set can be

empty but the definition of a set cannot, simply because no concern would be addressed. However, such

does not imply that or can‟t be empty. If no artifacts conform to the conditions then none should be

presented. Therefore the simplest definition of or must at least specify one condition regarding the set

of artifacts.

A rule of thumb is suggested to identify a minimum number of : for each referenced artifact type specify at

least one . The exact number should vary according to the complexity and interdependency of the selection

restrictions, always taking into account legibility concerns.

For example, if all types in (75) as illustrated in Figure 17 were addressed in a then the suggested number of

is equal to . Therefore the addressed content could be defined modelled as the graph:

(88).

Let the scenario relate to and identified in , and be described by the following:

“Select an Application named , the Application Components related by and the

Platforms related by to the components. All elements of the type Platform should be

grouped together and the Application should comprise its Application Components

grouped by the corresponding application layer that is identified by the value of the

property of an Application Component."

To exemplify the formalization process in a reverse-engineering approach, let , , illustrated in

Figure 18, represent the addressed content from scenario , where:

Page 56: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

44

the set of artifacts and relationships

is identified in (89) and (90);

the set of artifact types is disclosed in (91) and the set of relationship types

in (92);

the artifact type matching is declared in (93), (94) and (95);

the relationship type matching is acknowledged in (96) and (97).

a01

c01 c02 c03 c04

p01 p02 p03

Figure 18 Example of a representation of the addressed content for s04.

(89). , , , , , , ,

(90). , , , , , , , , , , , , , ,

,

(91). , ,

(92). , }

(93).

(94).

(95).

(96). , , , , ,

(97). , , , , ,

From previous guidelines and considering the following paragraphs describe a

specification of three , from informal description in , to the specification of the set of artifacts and

relationships. For explanation purposes the following is considered: for any relationship if , if one of the

elements of the pair isn‟t covered by the specification of , he is depicted in the illustration of .

Page 57: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

45

For

and considering “an Application named ”, the statement identifies a type Application and a

property restriction where name equals “ ”.

(98).

,

(99).

(100).

For

and considering “Application Components related by ”, the statement identifies a type

Application Components and a relationship type with artifacts of the type Application.

(101).

,

(102).

,

(103).

,

,

For

and considering “Platforms related by to the components”, the statement identifies a type

Platforms and a relationship type with artifacts classified as .

(104).

,

(105).

,

(106).

,

,

a01

a01

c01 c02 c03 c04

c01 c02 c03 c04

p01 p02 p03

[a] [b] [c]

Figure 19 Representation of the first [a], second [b] and third [c] content selection conditions for s04.

So illustrated in Figure 18 is the result of the union of the graphs depicted in Figure 19 where:

Page 58: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

46

To enable the reuse of viewpoints in the construction of multiple views the specification should comprise

discriminated slots with no pre-disclosed values, with the values only being established upon construction of the

view.

As an example consider that only mentioned “an Application identified by name” instead of “an

Application named ”. The specification of

defined in (99) would have to include an open reference

instead of the explicit assertion of the identifier.

Let a parameter reference an artifact‟s identifier, where is the set of all parameters. Considering the

aforementioned example and to notion of parameter, then

could be redefined as:

(107).

This enables the reutilization of the viewpoint in the construction of as many views as the number of valid

parameter values. Therefore if had x applications then the viewpoint would support the construction of x

views.

6.3 FILTERS

The approach considers that the addressed content, when represented in a blueprint, may yet be subject to further

constraints. Considering the context of analyses methods [20] encompassed in Operations of view (see 2.4), the

approach defines a filter as a view of a view. More precisely a filter is a view of the addressed content and

therefore a sub-graph of .

Let a filter be modelled as a graph , with no connectedness constraints and where.

(108).

(109).

The specification of filters in a viewpoint supports finer grain analysis to the resulting blueprint. Considering a

blueprint that depicts all the applications of an enterprise, one might consider useful, while in the context of all

depictions, the ability to denote a set of the elements that conform to a set of condition. For example, the main

concern is to identify all the applications of an enterprise but a pertained analysis may require the identification

of the applications that are scheduled for decommissioning (see 8.3.2). The design of the filter can express the

condition by which it is possible to identify the conforming applications and thus by binding a representation

convention with the filter, one could alter the related depictions, by, for example, changing the icon‟s colour.

A similar tool has previously been referenced although in a disguised fashion. The principles here defined relate

to the Time Dimension (see 5.2.4), however due to the fact that time is considered to be ever-present and not

context dependent, it is described separately.

Page 59: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

47

6.4 AGGREGATION PROCEDURES

When displaying information, it is sometimes useful to resort to grouping mechanisms, either to identify types,

categories or other classification guidelines regarding the set of elements it identifies.

To enable such behaviours the approach uses aggregation procedures that comprise the definition of content

aggregation. The aggregation procedures are algorithms described in pseudo-code (see Appendix A: Pseudo-

code Conventions) that have the single purpose of specifying how a content aggregation is achieved.

A content aggregation is modelled directed graph , , where is the set of all artifacts and

is the set of all aggregation relationships. A content aggregation must always include content of the

repository and therefore:

(110).

An aggregation artifact models a pertinent concept or notion that does not have a matching object in a repository

but, that is useful in the organization of content referenced in a view. An aggregation artifact may reference a

property of an artifact and thus be identified by its value, or may be declared by the explicit assignment of a

constant serving as the artifact‟s identifier (111). For an artifact with a property an aggregation artifact

can be created in the form of (112).

(111). I

(112).

An aggregation relationship is an ordered pair of nodes that establishes an association between an artifact and an

aggregation artifact, or vice versa.

A simple template identified in Algorithm 1 is proposed for the aggregation procedures.

AGGREGATEPROCEDURE( )

1 ,

2 ⊳

3

Algorithm 1 Example of an aggregate procedures template.

To exemplify the procedure specification the analysis of is resumed. Scenario states that “...All elements

of the type Platform should be grouped together...”, therefore a content aggregation must have an aggregation

artifact and an aggregation relationship for each artifact representing a platform. Let the artifact identified by the

abbreviation “p s” be an aggregation artifact that represents the entity that is used to group the elements of the

type Platform.

Let the AGGREGATEPROCEDURE01 described in Algorithm 2 be an aggregate procedure for .

Page 60: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

48

AGGREGATEPROCEDURE01( )

1 ,

2 p s

3

4 node

5

6

,

7

Algorithm 2 Description of the first aggregate procedure for s04.

Based on set of artifacts identified in (89), Algorithm 2 and by depicting the aggregation artifacts and

aggregation relationships with dashed lines, Figure 20 is an example of an illustration of .

p01 p02 p03

pls

Figure 20 Representation of the output of the first aggregate procedure for s04.

Scenario went on to state “...the Application should comprise its Application Components grouped by the

corresponding application layer that is identified by the value of the property of an Application

Component.”.

The first part of the statement identifies that a walk of length 2 should exist, relating the artifact classified as

Application and the artifacts classified as Application Component. If length is equal to 2 then a third type of

artifact is involved, aggregation artifacts. Therefore, it is necessary to create aggregation relationships between

Application artifacts and aggregation artifacts and between the latter and Application Component artifacts. The

second part of the sentence explicates how the identifiers of the aggregation artifacts are encountered.

So let the content aggregation bound to the previous exposure, be defined by aggregation procedure in

Algorithm 3.

AGGREGATEPROCEDURE02( )

1 ,

2 node

3

4 node

5

6

7

, ,

8

Algorithm 3 Description of the second aggregate procedure for s04.

Page 61: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

49

To finish the example, by considering (89) , Algorithm 3, and taking into account Table 14 where the property

values of the components are identified, the Figure 21 is an illustration example of .

Table 14 Property values for Application Components of s04.

a01

c01 c02 c03 c04

lay02lay01

Figure 21 Representation of second aggregate procedure for s04.

6.5 CONTENTS OF A BLUEPRINT

The purpose of the specifications of content viewpoint is to give the architect the resources with which to

construct a view. A view comprises the contents to graphically represent in the Blueprint and its definition

establishes the base work model for the Graphical Viewpoint specifications. Let a view be modelled as a

graph , , which conforms to a content viewpoint if it is defined has the union of the addressed

content and the content aggregations:

(113).

So in a retrospection to and considering ,

and , the resulting view

is specified by

(114) and is illustrated in Figure 22.

(114).

a01

c01 c02 c03 c04

p01 p02 p03

pls

lay02lay01

Figure 22 Representation of the view graph for s04.

Page 62: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

50

6.6 CONTENT VIEWPOINT SECTION STRUCTURE

This section presents the guidelines to structure the Content Viewpoint section. The guidelines have as subjects

the main notions described in the previous sections. The content guidelines in Table 15 identify what

must/should be comprised or referenced in the viewpoint section, organized by subject.

Sub-section Content guidelines

Repository

identification.

The repository must be identified, typically by the unique identifier of the database

and the associated Enterprise Architectural tool.

Correspondence

Mapping.

The correspondence mapping associated with the repository must be comprised or

referenced.

Optional. Comprise or reference the partial correspondence mapping.

Optional. Reference the rules used to validate a correspondence mapping.

Content Metamodel. The content metamodel specification of the referenced repository must be comprised

or referenced.

Optional. Comprise or reference the partial metamodel specification.

Optional. Reference the rule used to validate a metamodel.

Optional. The metamodel‟s application configuration file.

Addressed Content The section must identify and specify the information selection conditions and the

resulting address repository information.

The section must identify the set o available parameter slots.

Filters Optional. Comprise specification of applicable filters.

Optional. Identification of Time Dimension restrictions.

Content Aggregation Identification of the content aggregations and the specification of the respective

aggregation procedures.

Optional. Reference to the Pseudo-code Conventions.

Table 15 Content guidelines for the Content Viewpoint.

Page 63: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

51

7 GRAPHICAL VIEWPOINTS

The adequacy of a graphical representation is bound to its audience, its stakeholders. Whereas a landscape map

can be a useful instrument for a CEO, a UML class diagram would typically have lesser value as a

communication artifact. How often does one encounter a CEO that can distinguish a composition association

from an aggregation association? Well, not very often. The reason is that he simply doesn‟t need to know the

difference, since he is not a typical audience for such type of representations.

Therefore besides the inherent granularity issue, it is plain to see that the viewpoint concerns are also bound to

representation/drawing conventions. In [26], a drawing convention is defined as a basic rule that a drawing must

satisfy to be admissible. This notion might be taken lightly in a preliminary reading, but a drawing convention

of a real-life application can be extremely complex and can involve many details of a drawing.

Stating that an icon identified by X should be placed “above” the icon Y, is surely a guideline but nonetheless an

ambiguous one. The layout of a graphical representation must be described with more than vague direction

indication, otherwise there are distinction factors between [a] and [b] illustrated in Figure 23.

X

Y

X

Y

[a] [b]

Figure 23 Example of symbols laid out differently due to the ambiguity of the graphical guideline.

With the purpose of achieving automated construction of the graphical representation one cannot rely on woolly

or poorly structured specifications. As defined in [24] a viewpoint is a set of conventions for constructing and

using a view. Since this thesis takes a split approach, by separating the means of obtaining the content (see 6)

and the means to represent it, a graphical viewpoint is portrayed as a set of conventions for constructing and

using a graphical view.

This section presents the base ideas for defining graphical viewpoints, such as the concepts, algorithms and

integration with the previous viewpoint section.

7.1 GRAPHICAL SPECIFICATION

A graphical viewpoint is a viewpoint section that serves to accommodate the specification of drawing

conventions used to produce a graphical representation of a view that conforms to a content viewpoint.

The content to portray in the Blueprint is identified by a graph . To express the constraints and guidelines of a

graphical representation the approach associates elements of the graph with objects that impose the conventions

based on the artifacts‟ and relationships‟ classifications. These objects are called graphical elements. A

graphical element has attributes, methods and is defined according to its graphical type. The rules of the

Page 64: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

52

associations and the method orchestration are specified by a graphical orchestration. A graphical viewpoint can

also make reference to other algorithms to sustain the terms of the types and the orchestration.

7.1.1 Graphical Essentials

A graphical element is classified according to a graphical type, which dictates its methods and attributes. The

specification of the methods is described in pseudo-code and the implementation varies according to the type.

The keyword this is used to identify the element instance. The naming convention for graphical types is camel

case, with the first letter in lower-case. For a node the statement asserts that a graphical

element classified by the graphical type is associated with .

The algorithms comprised by a graphical type describe the conventions by which the associated content is

drawn. The blueprint drawing space is a defined as a horizontally-flipped first quadrant of a two dimension

Cartesian coordinate system, illustrated in Figure 24.

0

1 2 3

1

2

3

0

x-axis

y-a

xis

Figure 24 Blueprint drawing space.

A graphical element works as a decorator, in the decorator design pattern, in the sense that he extends the

artifacts with means for them to be drawn according to the conventions. The types provide attributes that define

the location depiction and dimensions of the element in the drawing space. An additional field is required to hold

reference to the appointed artifact.

Thus, a graphical type has five base attributes:

icon - An attribute that identifies the image that is used to depict the associated artifact.

o For example, a reference to UML Notation identifying the class icon used in class diagrams.

xCoordinate - The smallest value in the x-axis covered by the icon.

yCoordinate -The value of the icon apex.

height -The vertical distance from the lowest part of the icon to the apex.

width - The horizontal distance from the xCoordinate to the largest value in the x-axis comprised by the

icon.

content - An attribute that references the associated artifact of the graph .

o The reverse reference is denoted by an attribute wrapper of an artifact.

Page 65: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

53

Depending on the implementation, the method can either be a simple pair of statements initializing the attribute

values, or it can contain a number of procedures identifying how such attribute values are calculated.

Graphical types have two default methods: CALCULATESIZE; CALCULATEPOSITION. The attributes height and width

are initialized or initially influenced by the method CALCULATESIZE. CALCULATEPOSITION relates to procedures that

affect the position of the icon in order to cope with surrounding influences (e.g. a translation transformation).

7.1.2 Graphical Orchestration

A Graphical viewpoint comprises a graphical orchestration that includes:

- The view.

- Set of graphical types.

- Set of entry points.

Four base procedures:

o ASSOCIATE o IDENTIFYENTRYPOINTS o CHOREOGRAPHELEMENTMETHODS o DISTRIBUTEELEMENTS

As stated previously, the view is a primary input for the constraint definition of the current viewpoint

section.

The second major input is the set that identifies the available graphical types. By “available” the statement

implies that the types belonging to the set are the only ones referenced throughout the remaining procedures.

Each type has distinct method implementations and the execution of the graphical element‟s methods can

influence other elements. This influence regards the capacity of a graphical element to invoke the methods or

alter the attributes of adjacent elements.

An entry point is an artifact that is the initial node of a walk in , where each node influences the subsequent

adjacent node. An entry point cannot take part in any other walk unless as its initial node or unless the walk is

defined inside DISTRIBUTEELEMENTS. The set of entry points has the constraints defined in

IDENTIFYENTRYPOINTS.

IDENTIFYENTRYPOINTS ( )

1

2 ⊳

3

Algorithm 4 IdentifyEntryPoints method template.

The ASSOCIATE method expresses the conditions that dictate how the artifacts are associated with a graphical

type. The description in Algorithm 5 is a template for this kind of procedure and the number of cited conditions

is equal to the cardinality of .

Page 66: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

54

ASSOCIATE ( )

1 node

2 ⊳

3 ⊳

4 ⊳ “ ”

Algorithm 5 Associate method template.

The CHOREOGRAPHELEMENTMETHODS algorithm defines the number of influence walks, by expressing the

invocation order of the entry point‟s methods. Since there is a limited number of walks, not all the possible path

combinations are travelled hence a further iteration is required to establish the influences among the entry points.

Such iteration is described in DISTRIBUTEELEMENTS and can also comprise additional graphical depictions such as

textual, arrow-like depictions or overlapping symbols. Considering as global, then Algorithm 6 is an example

of a specification of graphical orchestration.

GRAPHICALORCHESTRATION( )

1 I I I

2 ASSOCIATE

3 CHOREOGRAPHELEMENTMETHODS ,

4 DISTRIBUTEELEMENTS ,

Algorithm 6 GraphicalOrchestration method template.

7.1.3 Support Algorithms

This section presents examples of support algorithms that to enable a more agile the use of graphs and simplify

the definition of complex procedures. This “library” encompasses algorithms that cover the notion of adjacency

through the identification of nodes or relationships based on the direction of the edges attached to a provided

node.

The CHILDNODES, as presented in Algorithm 7, is used identify any node of a parameter graph that connects

through any existing relationship to the parameter node and where the provided node is the origin of such

relationships.

CHILDNODES(graph, root)

1

2 edge

3

4

5

Algorithm 7 ChildNodes support algorithm.

Algorithm 8 describes CHILDEDGES, which returns the set of all relationships belonging to a given graph, where a

parameter node is the origin of the relationships.

CHILDEDGES(graph, root)

1

2 edge

3

4

5

Algorithm 8 ChildEdges support algorithm.

Page 67: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

55

The PARENTNODES, in Algorithm 9, returns a set of nodes that are adjacent the parameter node and where the

node is the origin the relationship defined by the pair.

PARENTNODES (graph, root)

1

2 edge

3

4

5

Algorithm 9 ParentNodes support algorithm.

As in Algorithm 8, the implementation of PARENTEDGES, provided in Algorithm 10, differs only in the condition

that the given node, root, is the destiny of the relationships, instead of the origin.

PARENTEDGES (graph, root)

1

2 edge

3

4

5

Algorithm 10 ParentEdges support algorithm.

7.2 GRAPHICALLY REPRESENTING A VIEW

This section presents an example of the contents of a graphical viewpoint based on scenarios s03 and s04, and

configured to produce the representation illustrated in Figure 25.

pls

p01

p02

p03

a01

lay01

c01

lay02

c02

c03

c04

Figure 25 Desired graphical representation for s04.

Page 68: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

56

7.2.1 Defining Graphical Types

To establish the base representation conventions, the initial step is to identify and describe the graphical types,

their attributes and methods. To enable more simple algorithmic descriptions the resort to support algorithm

libraries is advised. When a series of procedures or instructions is repeated throughout the specification of either

the graphical types or the graphical orchestration the advice is to isolate such functionalities in a comprising

support algorithm. For this example Algorithm 11 is used as a support algorithm and is therefore available for all

the others.

AGGREGATECHILDNODES is an extension of Algorithm 7 that besides identifying adjacent nodes of a root node also

filters the result according to the category of the edge. More precisely only adjacent nodes connected by an edge

categorized as are returned.

AGGREGATECHILDNODES( , )

1

2 edge

3

4

5

6

Algorithm 11 AggregateChildNodes support algorithm.

Having identified the parts of a support library one moves on to define the types. The set of available artifact

types is defined as , .

Both the types have the base attributes and two additional attributes and . The representation the

graphical elements can comprise child depictions implying that the latter overlaps a part of the parent‟s

depiction, influencing its size. These symbols are disposed in a layered manner and the number of symbols per

layer and consequently the number of layers is influenced the value of a ratio. The attribute identifies

the number of vertically staked layers and identifies the maximum number of child depictions for any

layer. For the sake of simplicity, the attribute icon of every element is considered to reference a rectangle with a

textual representation the associated artifact‟s identifier.

The type Symbol has only the base methods. Its instances are not intended to comprise other depictions and have

a fixed size. Both the methods comprise only attribute initializations.

Symbol.CALCULATESIZE ( ,ratio)

1

2

3

4

Algorithm 12 CalculateSize method for graphical elements classified as Symbol.

Page 69: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

57

Symbol.CALCULATEPOSITION ( , , )

1

2

Algorithm 13 CalculatePosition method for graphical elements classified as Symbol.

The Container type has two base methods and two additional methods. Algorithm 14 calculates the height of the

graphical element taking into account the layout and number of comprised depictions.

Container.CALCULATEHEIGHT( )

1

2

3

4

5

6

7

Algorithm 14 CalculateHeight for graphical elements classified as Container.

Algorithm 15 calculates the widest layer and establishes it as the required width of the container. By this it is

guarantying that container depiction comprises in width the arranged child graphical representations.

Container.CALCULATEWIDTH( )

1

2

3

4

5

6

7

Algorithm 15 CalculateWidth for graphical elements classified as Container.

The CALCULATESIZE for containers establishes the height and width of the container based on the graphical

distribution on the comprised symbols.

Container.CALCULATESIZE ( ,ratio)

1 I ,

2 node

3 appe I ,

4

5

6 CALCULATEWIDTH( )

7 CALCULATEHEIGHT( )

Algorithm 16 CalculateSize method for graphical elements classified as Container.

Algorithm 17 sets the coordinates of the Container according to the input parameters and then calculates the

coordinates for each of the comprised children and invokes the respective homonymous method.

Page 70: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

58

Container.CALCULATEPOSITION ( , , )

1

2

3

4 I ,

5

6

7

8

9

10 I I , ,

Algorithm 17 CalculatePosition method for graphical elements classified as Container.

7.2.2 Defining the Orchestration

Having established the set of types and their implementation, the graphical orchestration can be defined and is

thus described in Algorithm 18.

GRAPHICALORCHESTRATION( )

1 I I I

2 ASSOCIATE

3 CHOREOGRAPHELEMENTMETHODS ,

4 DISTRIBUTEELEMENTS ,

Algorithm 18 Graphical Orchestration for s04.

Following the order of the graphical orchestration:

IDENTIFYENTRYPOINTS ( )

1

2 node

3 PARENTNODES( , )

4

5

6

Algorithm 19 IdenfityEntryPoins for s04

The execution of IDENTIFYENTRYPOINTS for graph will result in , .

ASSOCIATE ( )

1 node

2 I ,

3

4

5

6

Algorithm 20 Associate for s04

Page 71: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

59

The ASSOCIATE for graph will lead to the associations identified in Table 16.

Artifact Graphical type

Container

Symbol

Symbol

Symbol

Symbol

Symbol

Symbol

Symbol

Container

Container

Container

Table 16 Association of the artifacts with Graphical type.

Algorithm 21 invokes the algorithm to calculate the size of every entry point.

CHOREOGRAPHELEMENTMETHODS ( , , )

1 node

2 appe CALCULATESIZE ( ,ratio)

Algorithm 21 ChoreographElementMethods for s04.

Considering and , then invocations can be portrayed by the influence paths illustrated in Figure 26,

where the left side of the illustration regards entry point and the right addresses .

a01 lay01 c01

a01 lay02 c02

a01 lay02 c03

a01 lay02 c04

pls p01

pls p02

pls p03

Figure 26 Influence paths travelled.

Finally the specification of DISTRIBUTEELEMENTS is addressed to establish how the elements are transversally

influenced, after which the blueprint is ready to be built.

DISTRIBUTEELEMENTS ( )

1

2

3

4 node

5

6 I I , , )

Page 72: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

60

7

8

9

10 node

11

Algorithm 22 DistributeElements for s04.

7.3 GRAPHICAL VIEWPOINT SECTION STRUCTURE

This section presents the guidelines to structure the Graphical Viewpoint section. The guidelines have as subjects

the main notions described in the previous sections. The content guidelines in Table 17 identify what

must/should be comprised or referenced in the viewpoint section, organized by subject.

Sub-section Content guidelines

Support Algorithms The section must include or reference all support algorithms it used.

Graphical Types The Graphical Types must be comprised or referenced.

Graphical

Orchestration

The section must comprise the specification of the graphical orchestration as well as

any related methods.

Graphical Sketch Optional. A graphical sketch of the desired output may be provided.

Table 17 Content guidelines for the Graphical Viewpoints.

Page 73: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

61

Chapter 05

ACHIEVING AUTOMATION

8 ENTERPRISE ARCHITECTURE MANAGEMENT SYSTEM

The software solution Enterprise Architecture Management System (EAMS) is a real-world implementation of

this thesis subject. The solution was developed by the author as a collaborator of Link Consulting. Some of its

capabilities and functionalities go beyond the scope at hand and are the result of collaboration with other

colleagues and students. The descriptions here addressed concern only designs and implementations done solely

by the author.

8.1 INTRODUCTION

The solution comprises Rational System Architect (RSA), EAMS-BackOffice and EAMS-Viewer, and provides

set of functionalities based upon major actuation areas illustrated in Figure 27.

Figure 27 Enterprise Architecture Management System’s major areas.

Page 74: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

62

Blueprint Management comprises any blueprint related capability such as Blueprint creation and filtering. Time

dimension is a transversal module responsible for any time related operations. Information Integration addresses

a part conceived to extend the import and export capabilities of the repository. Report Management regards the

capability to generate reports from a PowerPoint templates and populate them with repository information either

textual or blueprints. The two latter are not covered by the scope of the thesis and are therefore not subject to

further study in the following sections.

EAMS BackOffice is a Windows Forms Application developed in .Net Framework 3.5 and is the main controller

of the solution, having the responsibility of orchestrating the overall integration. Although in a macro perspective

one could view EAMS as already containing the repository, in reality the repository is provided by Rational

System Architect and is accessible through its API (See 3.2.1).

EAMS BackOffice uses RSA for its repository and drawing engine. The inter-process communication

mechanism is OLE Automation based on Component Object Model and enables content exchange with the

repository and access to System Architect‟s drawing engine. Due to the communication characteristics, both

EAMS-BackOffice and RSA run in the same computer. Further notes on repository integration are address in

8.2.

System Architect

EAMS-ViewerWorkstation

EAMS-BackOfficeWorkstation

EAMS-Viewer

Figure 28 EAMS Overview.

EAMS-Viewer is a WPF22

application that comes as an extension of the drawing capabilities of RSA and also to

enable remote access to the content via web-services thus allowing local and remote execution as illustrated in

Figure 28. However robust the SA drawing engine is, it was not designed to support dynamic representations and

therefore provides only limited potential for the Time dimension.

Table 18 describes the functionalities and matches them with the solution‟s components.

22 Windows Presentation Foundation: http://msdn.microsoft.com/en-us/library/ms754130%28v=VS.90%29.aspx

Page 75: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

63

Functionality Description BackOffice Viewer

Create Blueprint Concerns the ability to automatically create a graphical

representation conforming to a viewpoint.

supported supported

Create Blueprints

in Batch mode

The capacity to automatically create a number of blueprints

taking into account one or more viewpoints. The number of

blueprints is determined by the number of referenced

viewpoints and the respective parameters.

For example instead of selecting the parameter in

scenario s04, one could provide a set of parameters and for

each of them a blueprint conforming to that viewpoint

would be created.

supported unsupported

Filter Blueprint Identify graphically specific content of a graphical

representation. Such relates to 6.3 and is addressed in 8.3.2

supported unsupported

Visualise Blueprint

Dynamically

The ability to create a blueprint in a drawing space where

the user interactions can dynamically alter the

representation.

Such relates to 5.2.4 and is addressed in 8.4.1.

unsupported supported

Time Restrictions The capacity to apply a constraint to the content of the

blueprints, based on the time parameters.

Such relates to 5.2.4 and is addressed in 8.4.1.

supported supported

Table 18 EAMS functionalities.

8.2 REPOSITORY INTEGRATION

The purpose of this section is to contextualize the main notions covered in 6 as well as identifying how the API

was adapted to support the graph oriented approach.

To cope with repository changes the approach uses the content metamodel and the correspondence mapping.

The correspondence mapping is implemented as an XML file with the same structure as defined in 6.1.1. When

the application is initialized the file is loaded and its content is used to build translation dictionaries. The idea is

the same; the dictionaries are keyed by the graph types and return the repository types.

The API object representing the repository is the Encyclopedia which references a Metamodel. The metamodel

object has a list of all the object types and has means of identifying the reference types. To dynamically identify

the viewpoint‟s metamodel one only needs to iterate through and and use each of their mappings to

retrieve the full data structure from the repository.

Having addressed the types the following step concerns the content retrieval. How does one go from the formal

description to obtaining the appropriate information to represent in the Blueprints? As covered in 6.2, to obtain

the addressed content a number of content selection conditions must be defined. Since a requirement is that the

specification is supported by the solution, then one must assure that all the selection conditions can be mimicked

Page 76: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

64

and therefore through some choreography of the objects, methods and attributes of the API, one can construct an

interface to satisfy the approach‟s needs.

Although the API is rather extensive for the present scope only this partial view is required. Such methods and

attributes must suffice so that an implementation Repository of an interface IRepository could, through

choreography, provide the necessary means for an implementation of a viewpoint to specify the information

selection conditions programmatically. From Encyclopedia one can obtain the content by means of Definitions.

The base API methods regarding Encyclopedia are identified in Table 19 while for the methods and attributes for

Definitions are respectively addressed in Table 20 and Table 21.

Object Method Purpose

Encyclopedia GETALLDEFINITIONS Returns all the definitions in the encyclopedia.

Encyclopedia GETFILTEREDDEFINITIONS Returns a definition according to the name and type provided. The

name parameter is optional.

Table 19 System Architect Encyclopedia’s used methods and descriptions.

Object Method Purpose

Definition GETPROPERTY Returns the property value.

Definition GETRELATEDOBJECTS Returns related definitions according to a relationship type.

Table 20 System Architect Definition’s used methods and descriptions.

Object Attribute Purpose

Definition Name Name of the definition instance.

Definition SAType Type of the definition instance.

Table 21 System Architect Encyclopedia’s used attributes and descriptions.

So let a contractual interface IRepository have the methods described in Table 22.

Method Purpose

GETALLARTIFACTS Obtain the set of all artifacts.

GETALLRELATIONSHIPS Obtain the set of all relationships.

GETARTIFACTSBYTYPE Obtain the set of artifacts of a type.

GETARTIFACT Obtain a specific artifact.

GETRELATIONSHIPSBYTYPE Obtain the set of all relationships of a type.

GETRELATEDARTIFACT Obtain an adjacent artifact.

GETARTIFACTPROPERTY Obtain the value of an artifact property

Table 22 Methods for IRepository.

Considering , , the first thing to identify is how one can obtain the set of all artifacts and the set

of all relationships . Algorithm 23 expresses a way to identify for a parameter encyclopedia equal to .

The implementation is straightforward since a corresponding method is already provided by the API.

IRepository.GETALLARTIFACTS( )

1 return .GETALLDEFINITIONS( )

Algorithm 23 Algorithm to obtain all the repository’s artifacts.

Page 77: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

65

Let a method GETRELATIONSHIPTYPES return a set of all the relationship types. The process to identify is more

complex since there are no available API methods that allow the direct retrieval of all the relationships.

Therefore, and as specified in Algorithm 24, one needs to loop through all the artifacts and then for each of them

cycle through all the types of relationships in order to obtain all the definition pairs that account to the

relationships.

IRepository.GETALLRELATIONSHIPS(encyclopedia)

1

2 I I

3 node I

4

5 node a

6 ,

7

Algorithm 24 Algorithm used for the retrieval of all the repository’s relationships.

Let a method GETARTIFACTTYPEMAPPING obtain an object type that matches an artifact type introduced as a

parameter. Let a method GETRELATIONSHIPTYPEMAPPING obtain a reference type that matches a relationship type

introduced as a parameter.

Revisiting 6.2, one can observe that the constraints are expressed with allusions to types and identifiers, hence to

provide means to retrieve a more restricted set of artifacts two algorithms are proposed. Algorithm 25 identifies

how a set of all artifacts of a given type can be found.

IRepository.GETARTIFACTSBYTYPE (encyclopedia, type)

1 I I

2 GETFILTEREDDEFINITIONS ( , )

Algorithm 25 GetArtifactsByType

For a more detailed selection and considering that RSA uses the property name as an object identifier, Algorithm

26 denotes how a specific artifact can be attained.

IRepository.GETARTIFACT (encyclopedia, name, type)

1 I I

2 GETFILTEREDDEFINITIONS (name, )

Algorithm 26 GetArtifact

Algorithm 27 describes the steps required to obtain the value of an artifact‟s property.

IRepository. GETARTIFACTPROPERTY(encyclopedia, , , )

1 I , ,

2

Algorithm 27 GetArtifactProperty

Page 78: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

66

With the identification of types and artifacts completed the remainder of the section relates the selection of

relationships and adjacent artifacts. Algorithm 28 identifies how a set of all relationships of a given type can be

acquired, whereas Algorithm 29 describes the steps to identify an adjacent node restricted by the connecting

relationship type. The latter is much similar in principle to Algorithm 11 .

IRepository.GETRELATIONSHIPSBYTYPE (encyclopedia, type)

3

4 I I I

5 node I

6 node a

7 ,

8

Algorithm 28 GetRelationshipByType

IRepository.GETRELATEDARTIFACTS (encyclopedia, , , relationshipType)

9 I , ,

10 I I I

11

Algorithm 29 GetRelatedArtifacts

8.3 BLUEPRINT MANAGEMENT

As stated previously blueprint management addresses all concerns related to the blueprints. Thus far, the method

used to integrate EAMS with the repository has been covered, leaving the remaining viewpoint concepts to be

contextualized with the blueprint notion.

Creation of Blueprints regards the ability to create graphical representation of the information in the architectural

repository based on specification, without manual effort. So as previously described such specification is a

viewpoint, which identifies the content viewpoint and the graphical viewpoint. The viewpoint is implemented

programmatically as an implementation of an interface IViewpoint.

8.3.1 Blueprint configuration

EAMS BackOffice follows a plug-in architecture which through the use of Reflection23

allows the dynamic

creation of instances of IViewpoint from loaded assemblies. When the application starts it obtains the

correspondence mapping and the metamodel after which it will load DLLs24

that comprise implementations of

IViewpoint and that are bound to that repository. However, EAMS Viewer obtains the information of the

available blueprints by explicitly inquiring the BackOffice via web services about its available viewpoints.

There are two types of actions to perform on a blueprint, create the representation and filter the blueprint. These

actions are respectively related to the graphical representation of a or the identification of a . So let

23 http://msdn.microsoft.com/en-us/library/ms173183%28v=VS.90%29.aspx

24 Dynamic-link libraries: http://support.microsoft.com/kb/87934

Page 79: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

67

IViewpoint have a method CREATE and a method FILTER where the first comprises the necessary step to create the

blueprint and the second contains the specification of the filters.

To exemplify a specification, is revisited and described in pseudo-code as the method

GETREPOSITORYADDRESSEDINFORMATION in Algorithm 30. Let = “a01”.

GETREPOSITORYADDRESSEDINFORMATION (encyclopedia, )

1

2

3

4

5

6

7

8

9 I , ,

10 I , , ,

11 I I

12

13 ,

14

15 I , , ,

16

17 ,

18

19

20 ,

Algorithm 30 GetRepositoryAddressedInformation

Considering and the related examples in previous chapters, Algorithm 31 comes into play as the

implementation of IViewpoint.CREATE.

IViewpoint.CREATE ( )

1 ,

2 GETREPOSITORYADDRESSEDINFORMATION(

3 AGGREGATEPROCEDURE01(

4 AGGREGATEPROCEDURE02(

5

6

7 GRAPHICALORCHESTRATION( )

Algorithm 31 Create

Page 80: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

68

8.3.2 Extending the filters

Resuming the notion of filter presented in 6.3 this section presents how such idea is captured in EAMS. The

solution supports filters in a two-fold manner:

Pre-defined filters;

Run time definition.

The viewpoint can contain a number of filters and each is a public method of the interface IViewpoint. To apply

a filter on a blueprint the user selects the viewpoint followed by the parameters and the filter configurations; this

will result in the creation of a blueprint in which the content covered by the filters is highlighted.

The second method serves as a “sand box” for filter specification, where the user can specify filter through a

graphical interface illustrated in Figure 29. Such comes as an extension to the first approach, enabling user to

perform analysis that were not initially parameterized. The soundness of the specification is enforced by

mechanisms of the graphical interface that restrict the available options according to the constraint of the

concerning viewpoint, thus avoiding situations of excessive liberty, which could lead to ill-definition of filters,

rendering them with little or no value.

Figure 29 Graphical Interface used to define Filters.

Figure 29 illustrates an example that would then be interpreted as a filter with the following specification, where

the values are passed as parameters and :

(115). ,

(116).

(117).

Page 81: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

69

To exemplify the use of filters Figure 30 depicts a blueprint that when subject to a filter can be depicted as

Figure 31.

Figure 30 Blueprint with no applied filter.

Figure 31 Blueprint with a filter applied.

8.4 TIME DIMENSION

Continuing the discourse of section 8.4.1 the focus returns to the time dimension and the idea of influencing the

representations of the enterprise according to temporal marks.

The solution comprises two functionalities regarding this matter:

Time restriction;

Dynamic visualization;

8.4.1 Time Restriction

Time restriction is a transversal constraint of the content of graphical representations. This is supported by the

graphical interface, illustrated in Figure 32, where the user can determine restriction mode and the associated

value, according to three options: No restriction; Single value restriction; Restriction by range.

Figure 32 Graphical interface that allows the specification of time related constraints.

Page 82: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

70

Such can be traced back to in section 5.2.4 where:

(42) relates to time restrictions based on a single value.

(45) relates to time restriction base of a range o values.

Figure 33 illustrates a non restricted blueprint and Figure 34 displays the corresponding graphical representation

with restrictions applied, where the constrained representation has seven disappearing icons.

Figure 33 Blueprint without time restrictions.

Figure 34 Blueprint with time restrictions.

8.4.2 Dynamic Visualisation

EAMS-Viewer allows dynamic interactions with the graphical representations. From this ability a different

implementation of the time dimension was possible. Figure 35 illustrates a control panel that enables the run-

time alterations of the time restriction. When the blueprint is displayed in EAMS-Viewer, the solution identifies

the Minimum Date and the Maximum Date that account for the biggest and smallest values of the artifacts‟ time

related properties. The user is then able to alter the interval according to the time interval in which he wants to

visualize the representation. This interaction can be achieved by moving the bars of a slider or by directly

altering Begin Date and End Date.

Figure 35 Control panel for dynamic visualisation.

Figure 36 depicts a blueprint with Begin Date and End Date equal to the Minimum Date and Maximum Date,

where as Figure 37 illustrates the same blueprint with the slider set to a single date.

Page 83: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

71

Figure 36 Blueprint with no time restrictions.

Figure 37 Blueprint restricted to a date.

Page 84: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

72

9 CASES

This section describes the context in which EAMS was deployed or used in four organizations.

9.1 CASE 01: LINK CONSULTING - PORTUGAL

Link Consulting participated in various live presentations and demonstrations regarding EAMS, both in Portugal

and abroad. For these events a demonstration package was built with various viewpoints addressing mainly the

IT domain. Some of the live performances include events such as IBM Software Live, Innovation days 2009,

IBM Rational Day25

, etc.

For this project more than 15 viewpoints were specified (see Appendix C: Enterprise Blueprints Examples)

9.2 CASE 02: FINANCIAL GROUP I - PORTUGAL

This project used EAMS to aid in the construction and maintenance of an Application Catalogue and a Service

Catalogue. The first stage consisted in the use of Information Integration to collect data from information sources

scattered throughout the organization, into the architectural repository. The second project phase resorted to the

ability to create the enterprise blueprints. The representations where then used as a comprising part of several

reports.

For this project nine viewpoints where defined and used to create and maintain blueprints.

9.3 CASE 03: FINANCIAL GROUP II - BRAZIL

EAMS participated in two projects of this organization. The first regarding a generic proof-of-concept and a

second one regarding the support in the construction of an architecture intra-net site.

The proof of concept addressed only some customizations of the demonstration package referenced in [9.1].

In the second project, EAMS was used to maintain all the graphical representations required for an internal

architecture web site. This was a particularly interesting case. Although there were only 3 viewpoints involved

the number of outputs was considerable. This was the biggest performance endeavour the solution ever took part,

where in 24 hours using Batch Generation (see 8.1) approximately 88000 blueprints were created, each with an

average of more than 30 artifacts.

9.4 CASE 04: FINANCIAL GROUP III - BRAZIL

This case occurred in the context of Basel II26

to endow the organization with the ability to produce the graphical

representations to comprise in reports related to Basel II Pillar 3 Reports.

In this case the author did not participate in the specification of the viewpoints.

25 www-05.ibm.com/pt/ibmforum/apresentacoes/Enterprise_Architecture_Management_System_IBM_Rational_Day.pdf

26 http://www.bis.org/list/bcbs/tid_22/index.htm

Page 85: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

73

Chapter 06

CLOSING STATEMENTS

10 CONCLUSIONS

10.1 SUMMARY

The first steps of this thesis concern the research of architectural descriptions and the study of the contributions

made in the last decades regarding the concept of view, viewpoints and concerns. Such provided an initial

overview on what was being done to guide the construction of graphical representations that conveyed value for

the targeted audience.

With such initial research we moved to the issue of automated creation. A representation is considered well

defined if it is unambiguously interpreted by the audience, but the process of construction is deemed too costly.

So the vision shifted to the idea that if the specification of the representation is unambiguous it can be interpreted

by a machine, which can then produce the representations faster than any person. From this we set out to

identify some of the major issues that prevented the use of today‟s viewpoints from automated interpretations.

Such lead us to more mature disciplines.

From the ontological system definition we set path to establish the conditions for an enterprise to be modelled as

a graph, and from this mathematical model we developed an approach that merged the practices in software and

enterprise architecture with the use of formal model. With such, the thesis devised an approach based on the

separation of concerns to propose two viewpoint parts: content viewpoint; graphical viewpoint. Such directed to

an establishment of concepts, principles and a series of steps to endow the specification of the viewpoint with the

required characteristics that would allow the transition to the automated creation, thus addressing the first

objective:

(1) Establish the means to specify enterprise blueprints by proposing principles to comprise in the

conforming viewpoints;

The work then proceeded to the second stage: the implementation of a software solution capable of creating such

blueprints. This stage started with a research of related applications and EA tools to establish the technological

principals. Having established the architecture repository technology, the work evolved in the same steps as the

Page 86: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

74

viewpoint parts: first establish means to obtain the content of the representations; followed by the

implementation that would convey the processes inherent to graphical viewpoints. Thus addressing:

(2) Develop a software solution that automates the creation of enterprise blueprints;

The software solution is currently successfully deployed in two major financial groups. EAMS was used in

another architecture initiative in a third financial group and was also the subject of several public presentations

and live demonstrations to various audiences, on a national and international level. The overall appreciation has

been quite positive. The major advantages recognized by these audiences have been: the reduced effort in

creating the enterprise blueprints; the ability to enforce restrictions and maintain consistency and coherence; the

potential of the time dimension feature. All of which leads to the final objective:

(3) Validate the need for the thesis‟s approach and its ability to aid organizations in the resolution of

real life problems.

10.2 LESSONS LEARNED

This section comprises the identification of the most relevant lessons:

The approach is dependent from the quality of the information - As denoted on an early stage of the work, the

enterprise is perceived through the information maintained by the repository. If the repository does not reflect the

reality, neither will the blueprints, and therefore rendering all other efforts useless.

A formal approach is crucial to the definition process - The use of informal specifications leaves room for:

multiple interpretations; lack of rigour; inability to verify the specifications. A formal approach provides the

architect the ability to use verification in their work as means of reasoning and enriching his specifications. Even

if the stakeholders cannot initially provide a clear description of the requirements (concerns, constraints), an

architect equipped with the right instruments (well-established model, rules.) can analyse the requests and in a

more expedite manner identify any sources of ambiguity or incoherence and therefore re-establish conversation

with the client audience to set aside any doubts.

The use of pseudo-code is useful but requires additional information - The use of pseudo-code has long been an

instrument of reasoning however it is limited to some extent. The specification of the drawing conventions was

greatly supported by pseudo-code descriptions but when the conventions become too intricate the architect will

sooner or later start to struggle with the specification. Complex layout algorithms require to some extent the

company of graphical sketches. Such statement might be interpreted as a step-backwards, but it is exactly the

contrary. What was learned from experience is that easiest way to define the conventions is to start from a sketch

and then begin the breaking the depiction into smaller parts through refinement iterations, thus gradually

constructing the specifications in pseudo-code.

Standard languages have little concern for graphical conventions - Indeed there are a number of languages with

great value and pervasiveness. The languages rely mostly of the syntactic interpretation of the representation,

the interpretation of the icons. However there are a number of implications regarding how these elements are

spread throughout the representation. This is not a novel problem, many have pointed out modelling principles

Page 87: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

75

and notions, yet the only contributions rely on qualitative (e.g. Gestalt principles) instead of quantitative

attributes. As long as two people can draw different graphical representations that conform to the same

specification, the automation of such specification will still be faced with assumptions and not well-structured

rules.

The usage of relationship categories is not without its downfalls - Even though the categorization of the

relationships simplifies the explanation of the model and has the same principles as the ones used by the

architectural repository, it abstracts from the reality of system theory. This implies the following: if the

relationships between the objects aren‟t objects there is no easy way to truly reflect the state of existence of a an

association between two objects, therefore the work done regarding time dimensions is still subject to

considerable improvements.

Page 88: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

76

11 REFERENCES

[1] Apostel, L., “Towards a formal study of models in the non-formal sciences”, Synthese, vol. 12, no.

2-3, pp. 125--161, (1960)

[2] Boar, B.H., “Constructing Blueprints for Enterprise IT Architectures”, Willey Computer

Publishing, USA (1998)

[3] Boar, B.H., “A Blueprint for Solving Problems in Your IT Architecture”, IT Professional , vol. 1,

no. 6, pp. 23--29, IEEE Computer Society, USA (1999)

[4] Bollobás, B. “Modern Graph Theory”, Graduate Texts in Mathematics, vol. 184, Springer, USA

(1998)

[5] Boucké, N., Weyns, D., Hilliard R., Holvoet, T., Helleboogh, A., “Characterizing Relations

between Architectural Views”, Proceedings of the 2nd European conference on Software

Architecture, Lecture Notes In Computer Science, vol. 5292 , pp 66--81,Springer , Germany

(2008).

[6] Bunge, M., “Treatise on Basic Philosophy: Ontology II: A World of Systems”, vol. 4, Reidel, USA

(1979).

[7] Butler, Blowers, M., “System Architect 10.7”, Technical Audit TA001269IMT, Butler Group,

USA (2007).

[8] Callo, T., Avgeriou, P., America, P., “Documenting a Catalog of Viewpoints to Describe the

Execution Architecture of a Large Software-Intensive System for the ISO/IEC 42010 Standard”,

[http://www.esi.nl/projects/darwin/publications/2010_37_r11_Callo_Documenting_Viewpoints_ISI_IEC_42010.p

df], (2009)

[9] Clements, P., “Documenting Software Architectures, Views and Beyond”, Addison-Wesley, USA

(2002).

[10] Cormen, T.H, Leiserson, C.E, Rivest, R.L., Stein, C., “Introduction to Algorithms” The MIT Press,

USA (2001)

[11] Devlin, K., “The Joy of Sets: Fundamentals of Contemporary Set Theory”, Springer, USA (1993)

[12] Dietz, J.G.L., “Enterprise Ontology: Theory and Methodology”, Springer, Germany (2006).

[13] Dietz, J.G.L., “Architecture: Building strategy into design”, Academic Service, Netherlands

(2008).

[14] Dijkman, R.M, Quartel, D.A.C, Pires, L.F., Sinderen, M.J., “An Approach to Relate Viewpoints

and Modeling Languages”, Proceeding of the Seventh IEEE International Conference on

Enterprise Distributed Object Computing, pp 14--27, IEEE Computer Society, Australia, (2003)

[15] Emery, D., Hilliard, R., “Updating IEEE 1471: architecture frameworks and other topics”,

Seventh Working IEEE/IFIP Conference on Software Architecture, pp 303--306, IEEE Computer

Society, USA (2008)

[16] Forrester, Peyret, H., “Enterprise Architecture Tools, Q2 2007”, Forrester, USA (2007).

[17] Gartner, James, G. A., “Magic Quadrant for Enterprise Architecture Tools”, Gartner RAS Core

Research Note G00156427, (2008)

[18] Gartner, Handler, R. A., Wilson, C., “Magic Quadrant for Enterprise Architecture Tools”, Gartner

RAS Core Research Note G00172491, (2009).

[19] Herrera, S.I., Pallioto, D., Tkachuk, G., Luna, P.A., “Ontological Modelling of Information

Page 89: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

77

Systems from Bunge’s Contributions”, Proceedings for the 17th International Conference on

Advanced Information Systems Engineering, vol. 2, pp 571--581, FEUP Porto, Portugal (2005).

[20] Hilliard, R., “Viewpoint modeling”, Proceedings for the 1st ICSE Workshop on Describing

Software Architecture with UML, (2001).

[21] Hofmeister, C., Nord, R. L., Soni D., “Describing Software Architecture with UML”, Proceedings

of the First Working IFIP Conference on Software Architecture, IFIP Conference Proceedings,

vol. 140, pp. 145--160, Kluwer, Netherlands (1999).

[22] Hoogervorst, J.A.P., “Enterprise Governance and Enterprise Engineering”, Springer-Verlag,

Netherlands (2009).

[23] IBM Corp., “IBM Rational System Architect VBA Extensibility Guide Release 11.3.1”,

[http://publib.boulder.ibm.com/infocenter/rsdp/v1r0m0/topic/com.ibm.help.download.sa.doc/pdf1131/Extensibilit

y_VBA.pdf], (2009)

[24] IEEE Computer Society, “IEEE Std. 1471-2000: IEEE Recommended Practice for Architecture

Description of Software-Intensive Systems”, IEEE, USA (2000).

[25] Schekkerman, J., “Enterprise Architecture Tool Selection Guide v5.0”, Institute for Enterprise

Architecture Developments, [http://www.enterprise-architecture.info/Images/EA%20Tools/Enterprise%20

Architecture%20Tool%20Selection%20Guide%20v50.pdf], (2009)

[26] Kaufmann, M., Wagner, D., “Drawing Graphs: Methods and Models”, Lecture notes in computer

science, vol. 2025, Springer, Germany (2001).

[27] Kennaley, M., “The 3+1 Views of Architecture (in 3D)”, Proceedings of the Seventh Working

IEEE/IFIP Conference on Software Architecture, pp. 299--302, IEEE Computer Society, USA

(2008).

[28] Kruchten, P., “The 4+1 View Model of Architecture”, IEEE Software, vol. 12, no. 6, pp. 42--50,

IEEE Computer Society, USA (1995).

[29] Kruchten, P., Cappila, R., Dueñas, J. C., “The Decision View’s Role in Software Architecture

Practice”, IEEE Software, vol. 26, no. 2, pp. 36--42, IEEE Computer Society Press, USA (2009)

[30] Lagerstrom, R., “Analyzing System Maintainability Using Enterprise Architecture Models”,

Journal of Enterprise Architecture, vol. 3, no. 4, pp. 33--41, USA (2007).

[31] Lankhorst, M., et al., “Enterprise Architecture at Work: Modeling, Communication and Analysis”,

Springer, Germany (2005).

[32] Liu, N., Zheng, D., Gao, F., Xiong, Y., “Research on the Application of UML in Software

Architecture Modeling”, Proceedings of the 2008 10th IEEE International Conference on High

Performance Computing and Communications, pp. 762--766, IEEE Computer Society Press, USA

(2008)

[33] May, N., “A Survey of Software Architecture Viewpoint Models”, Proceedings of the Sixth

Australasian Workshop on Software and System Architectures, pp. 13--24, RMIT University,

Australia (2004).

[34] Odevci, B., “An Enterprise Abstraction Approach: Viewing Enterprise Architecture Through

Natural Language Constructs” ,Journal of Enterprise Architecture, vol. 6, n. 1, pp. 24--30,

Association of Enterprise Architects, USA (2010).

[35] Op't Land, M., Proper, E., Waage, M., Cloo, J., Steghuis, C., “Enterprise Architecture: Creating

Value by Informed Governance”, Springer-Verlag, Germany (2009).

[36] Romero, J.R., Vallecillo, A., “Well-formed Rules for Viewpoint Correspondences Specification”

Proceedings of the 2008 12th Enterprise Distributed Object Computing Conference Workshops,

Page 90: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

78

pp. 441--443, IEEE Computer Society, USA (2008)

[37] Russel, S.J, Norvig, P, “Artificial Intelligence: A Modern Approach”, Prentice Hall, USA (2002)

[38] Sousa, P., Lima, J., Sampaio, A., Pereira, C., “An Approach for Creating and Managing

Enterprise Blueprints: A case for IT Blueprints”, The 21st International Conference on Advanced

Information Systems, Lecture Notes in Business Information Processing, vol. 34, pp. 70--84

,Springer, Germany (2009).

[39] Tu, Q., Godfrey, M.W, “The build-time software architecture view”, Proceedings of the IEEE

International Conference on Software Maintenance, pp. 398--407, IEEE Computer Society, USA

(2001).

[40] Vasconcelos, A., “Arquitecturas dos Sistemas de Informação: Representação e Avaliação”, DEI,

IST-UTL, Portugal (2007).

[41] Wilson, R.J., “Introduction to Graph Theory”, Addison Wesley, England (1996)

Page 91: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

79

APPENDIX A: PSEUDO-CODE CONVENTIONS

The use of pseudo-code as long been accepted to enable the representation of algorithms to enable a more

capable interpretation by the targeted audience. Having established the use of graph and their formal

specification as first-grade citizens of the work, one must possess a way to express cumbersome specifications

and entangled mathematical formulas. The approach describes algorithms in pseudo-code most of it comprising

procedures of graphs, nodes and edges through the use of mathematical formulas, looping constructs and

assignments.

The pseudo-code conventions are as follows:

Indentation is significant. Indentation indicates block structure, used to delimit the scope of loops or

conditions, as, for example, in the language Python, and unlike languages such as Java, C#, etc.

The looping constructs while and for each, and the conditional constructs if, else have the same

interpretation as in C#. The looping construct for has the same interpretation as in Pascal.

Variables are local to given procedure.

Assignments are on the form , which assigns the value of to the variable . Multiple assignments

are transitive so, and is equivalent to .

Elements in Collections, lists or arrays, are accessed by specifying the name followed by the index in

square brackets.

Objects comprise a set of attributes or methods defined by their corresponding type. Methods have

capitalized names and are regarded as a set of procedural statements for achieving the desired result,

which can be applied to different types with different implementation through type polymorphism. A

method is accessed by specifying the name of the object followed by a dot, the name of the method and

an ordered sequence of parameters wrapped in parenthesis. An attribute is accessed using its name

followed by its object in square brackets.

The symbol ⊳ identifies that the remainder of the line is a comment.

Page 92: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

80

APPENDIX B: RATIONAL SYSTEM ARCHITECT OBJECT

MODEL

Figure 38 Rational System Architect Object Model.

Page 93: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

81

APPENDIX C: ENTERPRISE BLUEPRINTS EXAMPLES

Figure 39 Application Organic.

Support Inf rastructure

Risk & ComplianceInsight & Performance

Front Of ficeCore Banking

DevelopmentDatabase

Retail ProductCommercial Product

Private Wealth

ComplianceRisk Management

Analytics PlatformOperational Excellence

CRM & Marketing

Performance ManagementCustomer Ins ight

Basel II

Business Process Analytics

Business Activity Monitoring

Retail CustomersCommercial Customers

AML

ALM

Credit Risk

Market Information

Human Resources

Marketing

Business Architecture

Business and Resourse Planning

Channel Analytics

Customer Analytics

Call CenterClient Servicing

Mortgages

Credits

Deposits

Asset Management

Commercial Loans

Cash Management

Commercial Deposits

TivoliWorkflowWebsphere

System ArchitectSASProcess Execution

IBM MainframeERPEAI

Data WarehouseDashboardsBusiness Intelligence

BorlandVS Team SystemDOORS

TivoliSystem ArchitectSAS

Quality ManagementProject SuiteIBM Mainframe

ERPDocument ManagementData Warehouse

CMDBBMSApplication Catalogue

SAS

Business Intelligence

IBM MainframeReveleusAlgorithmics

ERPSASTivoli

MKSOpen ALM

RiskWinKamakuraSAS

WorkflowWebsphereEAI

Business IntelligenceBMSSystem Architect

EAIBusiness Intelligence

System ArchitectBMSWebsphere

Internal Knowledge

Sharer

BloombergReuters

ERP

MarketeerERP

BMSSystem Architect

Resource Availabil ity

Checker

IBM Business Planner

Call Center SolutionBusiness IntelligenceWebsphere

SAS

Altiris

Business IntelligenceCRMERP

Business IntelligenceCall Center SolutionERPCRM

Mortgage Today

Credit NowCredit Appliance v2

ERP

AltirisxAssetTivoli

Loan CheckerERP

AltirisERP

Commercial AnalyticsDeposit CheckerERP

Page 94: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

82

Figure 40 Application Context.

Figure 41 Product Viewpoint.

Processes Informational Entities

Consumed Applications Provided Applications

Projects Application IT Platforms

8 Serv ice Order

Management Application

7 Channel Sales

Management Application

6 Product / Serv ice

Catalog Manager

5 Mass Market Sales

Management Application

4 Corporate Sales

Management

3 Channel Sales

Management Application

2 Campaign

Management Application

DB2WebSphere

SQL ServerJ2EE1 Customer Order

Management Application

Selling Complete Customer

Order

Order Handling

Determine Customer

Order Feasibility

Authorize Credit Receiv e PO & Issue

Orders

Track & Manage

Customer Order

Handling

Issue Customer Orders Close Customer Order

Customer Bill Customer Product Specif ication

Product Of f ering Product Customer Bill Inquiry

Customer Order Serv ice Serv ice Specif ication

Agrius

Page 95: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

83

Figure 42 Component Integration

Figure 43 Application Structure.

Integrat ion Layer

Integrat ion Layer

B usiness Layer

D ata Layer

Presentat ion Layer

File Integrator

Adobe Flex

Mainframe File Manager.NET Framework 3.5 SP1

Part icipants

Balcony

TibcoFile IntegratorMainframe File Manager

.NET Framework 3.5 SP1IBM Mainframe

Orac le 10SQL Server 2005 SP2

DatawarehouseJ2EE

Corporate Database SystemBalcony

Integrat ion Layer

Event Manager.NET Framework 3.5 SP1

Tibco

Incident ManagementBalcony

Debt ManagementDashboards

Commerc ial Analy ticsUncompliance Management

AgendaOperational Data System

DashboardsDeposits

Externals

BalconyAgenda

Commerc ial Analy ticsIncident Management

Operational Data SystemDebt Management

Central Bank

BalconyOperational Data System

Operational Data SystemBalcony

Debt ManagementDepos its

BalconyOperational Data System

Debt ManagementDashboards

Commerc ial Analy ticsUncompliance Management

AgendaOperational Data System

Incident ManagementUncompliance Management

Operational Data SystemDebt Management

Risk CentralizerCentral Asset Quotes

TBC - Risk

Manager

TBC - Asset

Manager

CDS -

Repos itory

BCN - Database

INF - Incident

File Manager

BCN - Event

Handler

INF - Debt Fi le

Manager

INF - Business

Data Integrator

CLI - Client Fi le

Manager

INF -

Uncompliance

File Manager

INF - Agenda

Data

INF - Asset Fi le

Manager

CKP - Future

Assets

CKP -

Business Data

DPO - Interest

Rates Manager

DPO - Account

Balance

Manager

BCN -

Corporate

Client Data

Agregator

AGD - Agenda

Data

CLI - Risk AlertINF - Incident

Management

ODS Asset

Management

EFT - Debt

Manager

ODS Asset

Integrator

BCN - Event

Handler

BCN - Serv ice

Manager

TBC - Debt

Manager

EFT - Debt

Serv ices

TBC - Interests

Manager

TBC - Balance

Manager

TBC - Risk

Manager

ODS Asset

Serv ices

TBC - Asset

Manager

INF - Debt Fi le

Manager

INF - Future

Assets

Integrator

INF - Business

Data Integrator

CLI - Client Fi le

Manager

INF -

Uncompliance

File Manager

INF - Agenda

Data

INF - Asset Fi le

Manager

INF - Incident

File Manager

MFM - Inc ident

File Manager

MFM -

Uncompliance

File Manager

RES-RI

Uncompliance

File Manager

MFM - Asset

File Manager

ODS Asset Fi le

Manager

EFT - Debt

Integrator

MFM - Debt File

Manager

BCN - Client

Interface

Corporate Client

Manager

CommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentCommentComment

Customer Order Management Application

Business

Platforms

Integration

Repositories

Data

External Applications

1 Serv ice Order

Management Application

Customer DatabaseMarket / Sales Database

COMA -

Customer

Qualif icat ion -

DATA

COMA -

Channel

Guidance and

Data Capture -

DATA

COMA - Order

Validation - INT

COMA - Order

Management

Prov ider - INT

COMA - Order

Lyf ecycle

Management

COMA - Order

Tracking &

Management

COMA - Order

Distribution

COMA - Order

Orchestration

COMA - Order

Publication

COMA - Order

Validation

COMA -

Customer

Qualif icat ion

COMA - Order

Establishment

COMA - Order

Management

DB2

SQL Server

WebSphere

J2EE

Page 96: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

84

Figure 44 Project Impact.

Page 97: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

85

Figure 45 Application Context (EAMS-Viewer).

Page 98: AN APPROACH FOR CREATING AND MANAGING BLUEPRINTS · teoria de conjuntos e à modelação da Empresa como um grafo, para especificar formalmente o conteúdo a ser ... FIGURE 5 FORRESTER

86

Figure 46 Application Structure (EAMS-Viewer).


Recommended