extensible architecture framework (xaf)

40
Jan L.G. Dietz (ed.) extensible Architecture Framework (xAF) version 1.1 (formal edition)

Upload: others

Post on 02-Jan-2022

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: extensible Architecture Framework (xAF)

Jan L.G. Dietz (ed.)

extensibleArchitectureFramework

(xAF)version 1.1 (formal edition)

Page 2: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 3: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 4: extensible Architecture Framework (xAF)

xAF-1.1 fe 4

n The objective of the program is to develop a generic architectureframework (GAF) that is theoretically solid and practically useful.The GAF is generic in the next senses:• The concepts in the framework constitute a complete set, i.e. they

are necessary and sufficient for carrying out projects successfully.• The framework is widely applicable, i.e. within the whole area of

enterprise engineering (business definition, business processes, ICT-applications, organization etc.).

• The definition of each concept leaves space for customization withinany (sub)field. The GAF should not be a rigid standard.

n The plan is to present at the LAC 2004 the final version of the GAFand to have it accepted as the NAF-standard for dealing witharchitectures and architecture frameworks.

Objectives of the NAF-program GAF

Page 5: extensible Architecture Framework (xAF)

xAF-1.1 fe 5

n Although architecture enjoys an enormous and ever increasingattention, it is not always correctly understood and applied. Next,there exists a cluttered and large number of presumed distinctarchitectures, frameworks and architects. These observations havegiven rise to the next motivation for the NAF-program:• The GAF could encourage the correct usage of architecture as well as

improve the quality of architecture frameworks.• The GAF could be a unifying frame of reference for all kinds of

educational curricula and courses, at all levels (MBO, HBO, UNI).• The GAF could be the basis for a sensible distinction of professions in

the field (definition), and for degrees of professionalism (certification).

Motivations for the NAF-program GAF

Page 6: extensible Architecture Framework (xAF)

xAF-1.1 fe 6

The xAF working group

n Frank Baldinger (ING)n Jeroen van Beele (Wehkamp)n Frits Broekema (CGEY)n Wiel Bruls (IBM)n André van Dalen (Siemens)n Jan Dietz (TUD) - chairmann Henk Gingnagel (Pink Roccade)n Hans Goedvolk (CGEY)n Guus van der Harst (MinJus)n Bart-Jan Hommes (TUD)n Jan Hoogervorst (KLM)n Michel Jansen (ABN/Amro)n Olaf Kruidhof (CGEY)n Martin op ‘t Land (CGEY)n Henk Lof (Hooge Huys)

n Paul Mallens (MinLNV)n Wouter Mellink (KLM)n Karin Middeljans (RWS)n Erik Proper (RUN)n Roelof Rabbers (KPN)n Louis Stevens (Ordina)n Leon van der Torre (CWI)n Wim Verbeek (Aquila)n Rob Vreke (IBM)

Page 7: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 8: extensible Architecture Framework (xAF)

xAF-1.1 fe 8

Mastering complexity

n Architecture is a notion that could be (and is anyway hoped to be!)helpful in mastering the complexity of Business-ICT problems.

n Mastering complexity is performed in our mind. It requires:• Unorthodox and creative thinking, yielding powerful and innovative

concepts.• Providing rigorous and precise definitions of these concepts.

n Rigorous and precise reasoning is supported by logic andmathematics. Lateral thinking may be helpful in finding innovativeideas. (De Bono, Einstein, Ockam).

n The importance of the notion of architecture for solving Business &ICT problems is comparable to the importance of the notion ofenergy in solving mechanical problems.

Page 9: extensible Architecture Framework (xAF)

xAF-1.1 fe 9

n The benefits of designing objects ‘under architecture’ are, amongother things, improved performance in the next aspects:• Integration; objects can more easily be coupled or merged.

Conversely, they can more easily be split. This holds both for objectsof the same kind and for objects of different kinds.

• Adaptability; changes to the object can more readily be made.• Agility (this holds in particular for organizations); the ability of objects

to respond swiftly to new demands is improved.• Understanding; designs can more readily be understood by and

communicated among the stakeholders.• Utilization; people will be more willing to use an object since its

function is more readily recognized.• Engineering; engineers will more likely use design and engineering

patterns then before, which reduces development costs and time.

Why architecture?

Page 10: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 11: extensible Architecture Framework (xAF)

xAF-1.1 fe 11

n The designing of a system (an organization, a clock, a car, or an ICT-application) essentially consists of two things:• Determining the requirements. The result is a balanced compromise

between all stakeholders’ requirements.• Devising the specifications. These specifications should satisfy the

resulting requirements and should be feasible. By feasible is meant thatthe specifications are sufficient for building the system, using theavailable technology.

What is designing?

Page 12: extensible Architecture Framework (xAF)

xAF-1.1 fe 12

n Requirements can usefully be divided into two kinds:• General requirements; these hold for a class of systems. They

consist of policies, guidelines, standards, preconditions etc.• Special requirements; these hold for a particular system (an

instance of some class). They consist of what is usuallyunderstood by requirements.

Kinds of requirements (1)

Page 13: extensible Architecture Framework (xAF)

xAF-1.1 fe 13

general special

functional

constructional

• accounting shouldbe in conformitywith European law

• the max speed ofcars should be atleast 80 km/hr

• this accountingsystem shouldhandle $ and €

• the max speed ofthis car should be180 km/hr

• ICT-applicationsshould becomponent based

• in cars, minimal25% of the materialshould be synthetic

• this system mustbe programmed inC++

• the body of thiscar should be fullysynthetic

Kinds of requirements (2)

Page 14: extensible Architecture Framework (xAF)

xAF-1.1 fe 14

In the design of a target system (TS) that supportsa using system (US), the next steps are taken:

1. Determining the requirements for the TS, such that the TS will offerthe desired support to the US.

2. Devising the specifications of the TS from these requirements.

(resulting)requirements specifications

devisingspecifications

determiningrequirements

generalrequirements

specialrequirements iteration

The design process (1)

Page 15: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 16: extensible Architecture Framework (xAF)

xAF-1.1 fe 16

The teleological system concept

n Is about the function and behavior of a systemn Reflects the purpose of a systemn Is the dominant system concept in both the natural and the social

sciencesn Is perfectly adequate for using and controlling systemsn Has the black-box model as the corresponding kind of model

Page 17: extensible Architecture Framework (xAF)

xAF-1.1 fe 17

the driver's perspective

function :(mathematical) relationshipbetween input and output

behavior :the manifestation of thefunction in the course of time

car

lightingsystem

powersystem

steeringsystem

brakesystem

functional decomposition

The black-box model

Page 18: extensible Architecture Framework (xAF)

xAF-1.1 fe 18

The ontological system concept

n Is about the construction and operation of a systemn Is indifferent to the purpose of a systemn Is the dominant system concept in the engineering sciencesn Is perfectly adequate for building and changing systemsn Has the white-box model as the corresponding kind of model

Page 19: extensible Architecture Framework (xAF)

xAF-1.1 fe 19

n Anything that has the next properties is called a (homogeneous)system:

• Composition: a set of elements of a category C.• Environment: a set of elements of C.• Production: the elements in the composition produce things (products or

services) that are delivered to the elements in the environment.• Structure: a set of interaction bonds among the elements in the

composition and between these and the elements in the environment.

The ontological system definition

Page 20: extensible Architecture Framework (xAF)

xAF-1.1 fe 20

Depiction of a homogeneous system

Page 21: extensible Architecture Framework (xAF)

xAF-1.1 fe 21

the mechanic's perspective

construction :(active) elements and theirinteraction relationships

operation :the manifestation of theconstruction in the course of time

car

chassis wheels motor lamps

constructional composition

The white-box model

Page 22: extensible Architecture Framework (xAF)

xAF-1.1 fe 22

A vase or two faces? [Rubin]

Page 23: extensible Architecture Framework (xAF)

xAF-1.1 fe 23

Heterogeneous systems

n A system is homogeneous if its elements belong to one category (e.g.physical or biological or social). The elements are called atomic withrespect to the category.

n Homogeneous systems can be integrated in a heterogeneous system.This is possible if the (atomic) elements of the distinct homogeneoussystems are somehow inseparably connected. For example: a humanbeing is inseparably a social, an intellectual, and a physical individual(element).

Page 24: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 25: extensible Architecture Framework (xAF)

xAF-1.1 fe 25

n In general, the design freedom of designers is undesirable large. Theidea of architecture is to take advantage of this. Therefore,architecture is defined as normative restriction of design freedom.

n This idea of consciously applying normative restriction of designfreedom is the really new thing. It makes architecture a prescriptivenotion; any descriptive interpretation is cogently rejected.

n This notion of architecture is in contrast with the one that is used inthe construction of buildings (“bouwkunde”). There, architecture ishardly distinguished from design.

n Practically, architecture is a consistent and coherent set of designprinciples that embody general requirements. Applying a designprinciple satisfies one or more general requirements.

What is architecture?

Page 26: extensible Architecture Framework (xAF)

xAF-1.1 fe 26

n As a support for devising architectures, it is convenient to have astructured checklist of issues that must be paid attention to or thatmust be taken into account. Such a structured checklist is called anarchitecture framework.

n Formally, an architecture framework (AF for short) can be definedas a tuple <O,D,A> where:• O is a set of object types.• D is a set of design domains.• A is a set of areas of concern.

n O, D and A may be interpreted as three dimensions. There is noguarantee, however, that they are orthogonal.

What is an Architecture Framework? (1)

Page 27: extensible Architecture Framework (xAF)

xAF-1.1 fe 27

n An object type determines a class of objects for which an AF ismeant. Examples: churches, computer networks, organizations.

n Domains are distinctions that are inherent to the object type(s) dueto the (possibly unwittingly) applied paradigm. Ideally, domains areindependent of each other. Examples: function and construction.

n The general requirements, put in by the stakeholders, are grouped indistinct areas of concern. Examples: security and maintainability.

n An architecture can now be defined more formally as follows:• An architecture is a set P of design principles, conforming with some AF.• P concerns one object type o ∈ O.• Every p ∈ P is a restriction of design freedom in one domain d ∈ D.• Every p ∈ P originates from one or more areas a ∈ A.

What is an Architecture Framework? (2)

Page 28: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 29: extensible Architecture Framework (xAF)

xAF-1.1 fe 29

The extensible Architecture Framework

n The formal definition of an AF suggests that it must be feasible todefine an AF as an extension of one or more existing AF’s, whilebeing also extensible itself. This would offer the desirable option to(sensibly) compare and evaluate existing frameworks.

n To realize this idea of an extensible Architecture Framework (xAF),two things are needed:• A generic architecture framework that serves as the universal root xAF

of all other xAF’s. It is called xAF0.• Extension rules for defining xAF’s as extensions of the xAF0.

n The extension rules through which a new xAF can be defined onthe basis of one or more other xAF’s are: specialization andintegration. These rules guarantee compliance of a newarchitecture with its direct parent(s) and thus with the xAF0.

Page 30: extensible Architecture Framework (xAF)

xAF-1.1 fe 30

The specialization rule

n An xAFj, defined as <Oj,Dj,Aj> is a specialization of an xAFi, definedas <Oi,Di,Ai> if and only if:• Every object type o ∈ Oj is an exclusive subtype of some o’ ∈ Oi.

• Dj is a superset of Di.• Aj is a superset of Ai.• xAFj is a valid xAF.

n Note. The notion of superset as used above is the inverse of thecommon notion of subset (symbol ⊆), not the strict or proper one(symbol ⊂). So, the compared sets may be identical.

n Example: an xAF for organizations as specialization of an xAF forsystems in general.

Page 31: extensible Architecture Framework (xAF)

xAF-1.1 fe 31

The integration rule

n An xAFn, defined as <OO,DD,AA> is an integration of a set of xAF’s,defined as {<O1,D1,A1>,<O2,D2,A2>, ... ,<Ok,Dk,Ak>}, if and only if:•• OO is the integral union of O1, O2, ... , Ok.•• DD is the integral union of D1, D2, ... , Dk.•• AA is the integral union of A1, A2, ... , Ak.• xAFn is a valid xAF.

n Note. By integral union is meant that the elements of the united setare rigorously related to each other, not just ‘talked together’.Otherwise one should call it only an aggregation.

n Example: devising an enterprise AF as the integration of severalcomponent AF’s, like an organization AF, an information system AFand an ICT-infrastructure AF.

Page 32: extensible Architecture Framework (xAF)

xAF-1.1 fe 32

The xAF lattice

n Extending the xAF0 yields a top-down directed lattice of xAF’s. Thefigure below shows an example lattice:• A straight line represents specialization; e.g. xAFj is a specialization of

xAFi.• A bundle of dotted lines represents integration; e.g. xAFn is the

integration of xAF1, xAF2 and xAF3.

xAFn

xAF1 xAF2 xAF3

xAF0

xAFi

xAFj

Page 33: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 34: extensible Architecture Framework (xAF)

xAF-1.1 fe 34

xAF0 - the object type

n The object type in the xAF0 is the generic homogeneous system.Formally, a homogeneous system can be defined as a tuple<A,C,E,P,S> where:• A is the class of atomic elements of the system category.• C ⊂ A, called the composition.• E ⊂ A, called the environment. E and C are disjoint.• P is a set of products. Products are things that can be produced by the

elements in C and transferred to elements in E.• S, called the structure, is a set of influencing bonds among the

elements in C and E. By virtue of these bonds, the elements are able toact upon each other. In doing so, they evoke the creation and transferof products.

n C, E and S are collectively called the construction of a system.

n The collective activity of the elements of C and E is called theoperation of a system.

Page 35: extensible Architecture Framework (xAF)

xAF-1.1 fe 35

xAF0 - the function domain

n Two domains are identified in the xAF0: the function domain andthe construction domain. In the function domain one is concernedwith both the function and the behavior of a target system (TS),thus the provision of services, including performance issues. Ablack-box model of the TS is used.

n On the basis of a white-box model of the using system (US), oneacquires the special requirements for the design of the TS. Theycome in addition to the general requirements, as reflected alreadyin the applied architecture. Requirements are expressed in terms ofthe US.

n Often a distinction is made between functional requirements andconstructional requirements. Functional requirements are about thefunctionality of the TS, i.e. the distinct services it must provide.Constructional requirements are about quality (e.g. performance)characteristics with which the services are provided.

Page 36: extensible Architecture Framework (xAF)

xAF-1.1 fe 36

xAF0 - the construction domain

n In the construction domain one is concerned with both theconstruction and the operation of the TS, in particular how theelements in C collaborate to deliver services to the elements in E.A white-box model of the TS is used.

n The pertaining knowledge is expressed in specifications. Theyspecify the internal construction and operation of the TS, i.e. thecreation of products and the interactions between the elements inC for providing the corresponding (internal) services, as well as theexternal construction and operation, i.e. the interactions betweenE and C for the provision of services.

n Often a distinction is made between functional specifications andconstructional specifications. Functional specifications are aboutthe external construction and operation of the TS. Constructionalspecifications regard the internal construction and operation.

Page 37: extensible Architecture Framework (xAF)

xAF-1.1 fe 37

xAF0 - the areas of concern

n The set A of areas of concern in the xAF0 is empty. This only meansthat there are no universal areas of concern.

Page 38: extensible Architecture Framework (xAF)

xAF-1.1 fe 38

n The general requirements are embodied in a set of design principles, thus in anarchitecture. These principles apply to the devising of the specifications.

specialrequirements specifications

devisingspecifications

determiningspecial

requirements

black-box model of the TS

white-box model of the US

white-box model of the TS

generalrequirements architecture

iteration

The design process (2)

Page 39: extensible Architecture Framework (xAF)

OUTLINE

The NAF-program GAFBusiness-ICT problemsDesigningSystems and modelsArchitecture and architecture frameworksThe extensible Architecture Framework (xAF)xAF0: the root xAFConcluding notes

Page 40: extensible Architecture Framework (xAF)

xAF-1.1 fe 40

Concluding notes

n The presented framework xAF has a well-defined scientificfoundation (although not completely presented here). Architecturescreated within an xAF can be verified and validated.

n xAF0 is a candidate generic AF for dealing with enterprises and ICT-systems. Current frameworks should be definable as extensions ofthe xAF0. This is at the same time a quality criterion.

n Important next steps to take are:• Assessment of the practicality of the xAF by validating current

frameworks in it.• Design of a (formal) language for specifying architectures.• Development of an xAF/MS.