Difference between revisions of "Physical Architecture"

From SEBoK
Jump to navigation Jump to search
Line 1: Line 1:
Once a [[Logical Architecture (glossary)]] is defined, concrete physical elements have to be identified that could support functional, behavioral and temporal features, as well as expected properties of the system deduced from non-functional System Requirements.
+
Once a [[Logical Architecture (glossary)|logical architecture (glossary)]] is defined, concrete physical elements have to be identified that could support functional, behavioral, and temporal features, as well as expected properties of the system deduced from non-functional system requirements.
  
Because of evolution of the context of use, or technological possibilities, the Physical Architecture made of System Elements, is supposed to change along the life cycle of the system in order it continues to perform its mission within limits of its required effectiveness. Whether evolutions impact Logical Architecture elements, allocations to System Elements could change. A Physical Architecture is equipped with specific [[Design Property (glossary) | Design Properties]] to challenge continuously the evolution.
+
Because of the evolution of the context of use, or technological possibilities, the physical architecture made of system elements is supposed to change along the life cycle of the system in order for it to continue to perform its mission within the limits of its required effectiveness. Depending on whether or not evolution impacts logical architecture elements, allocations to system elements could change. A physical architecture is equipped with specific [[Design Property (glossary)|design properties (glossary)]] to continuously challenge the evolution.
  
====Definition and purpose====
+
====Definition and Purpose====
  
The purpose of Physical Architecture Design is to create a physical concrete solution that performs the Logical Architecture, and that satisfies and trade-offs System Requirements.
+
The purpose of physical architecture design is to create a physical concrete solution that performs the logical architecture, as well as satisfies and trades-off system requirements.
  
A Physical Architecture is an arrangement of physical elements (System Elements, Physical Interfaces) which provides the design solution for a product, service, enterprise intended to satisfy Logical Architecture elements and System Requirements (adapted from ISO/IEC 26702). It is implementable through technologies.
+
A physical architecture is an arrangement of physical elements (system elements and physical interfaces) which provides the design solution for a product, service, or enterprise, and is intended to satisfy logical architecture elements and system requirements (ISO/IEC 26702). It is implementable through technologies.
  
 
==Concepts and Principles==
 
==Concepts and Principles==
  
===Concepts of System Element, Physical Interface, and Physical Architecture===
+
===Concepts of System Elements, Physical Interfaces, and Physical Architecture===
  
A '''System Element''' is a discrete part of a system that can be implemented to fulfill Design Properties. A System Element can be hardware, software, data, humans, processes (e.g., processes for providing service to users), procedures (e.g., operator instructions), facilities, materials, and naturally occurring entities (e.g., water, organisms, minerals), or any combination (adapted from ISO/IEC 15288:2008).
+
A '''system element''' is a discrete part of a system that can be implemented to fulfill design properties. A system element can be hardware, software, data, humans, processes (e.g., processes that provide a service to users), procedures (e.g., operator instructions), facilities, materials, and naturally occurring entities (e.g., water, organisms, and minerals), or any combination of these (ISO/IEC 15288:2008).
  
A '''Physical Interface''' is a System Element that binds physically two System Elements. Equivalent terms may be Link, or Connector.
+
A '''physical interface''' is a system element that physically binds two system elements. A physical interface is similar to a link or a connector.
  
Table 1 provides some examples of System Elements and Physical Interfaces.
+
Table 1 provides some examples of system elements and physical interfaces.
  
  
Line 25: Line 25:
  
  
A complex system composed of thousands of physical and/or intangible parts is structured in several layers of systems and System Elements. To be mastered easily the number of elements in decomposition of one system is limited to a few ones; generally 5+ or - 2 elements.  
+
A complex system composed of thousands of physical and/or intangible parts is structured in several layers of systems and system elements. The number of elements in the decomposition of one system is limited to a few in order to facilitate the ease of mastering the system; generally 5+ or - 2 elements.  
  
  
Line 32: Line 32:
 
<center> FIGURE 1 - Layers of systems and System Elements </center>
 
<center> FIGURE 1 - Layers of systems and System Elements </center>
  
Every system in each layer of the decomposition is structured as a Physical Architecture.  
+
Every system in each layer of the decomposition is structured as a physical architecture.  
  
A '''Physical Architecture''' is built from systems, System Elements and all necessary Physical Interfaces between these elements and with external elements (neighbor systems and/or System Elements in the considered layer; concerned elements of the context of the global System of Interest).
+
A '''physical architecture''' is built from systems, system elements, and all necessary physical interfaces between these elements, as well as from external elements (neighboring systems and/or system elements in the considered layer and concerned elements in the context of the global system of interest).
  
 
<center> FIGURE 2 </center>
 
<center> FIGURE 2 </center>
Line 42: Line 42:
 
===Concept of Design Property===
 
===Concept of Design Property===
  
A '''Design Property''' is associated to a System Element, a Physical Interface, a Physical Architecture. It is a property obtained during design, through assignment of non-functional requirements, or estimate, analysis, calculation, simulation of a specific aspect, or obtained by definition in the case of an existing element.
+
A '''design property''' is associated to a system element, a physical interface, and/or a physical architecture. It is a property obtained during design through the assignment of non-functional requirements, or estimates, analyses, calculations, simulations of a specific aspect, or obtained through the definition of an existing element.
  
If the designed element complies with a requirement, the Design Property should equal the requirement. Otherwise one has to identify discrepancy which treatment could conclude to modify the requirement, or the design, or identify a deviation.
+
If the designed element complies with a requirement, the design property should equal the requirement. Otherwise, one has to identify any discrepancy that could modify the requirement, the design, or identify a deviation.
  
Stakeholders have concerns that correspond to expected behavior facing operational, environmental, physical constraints, and more generally life cycle constraints. Stakeholders Requirements and System Requirements express these concerns as expected abilities from the system (example: usability, interoperability, security, expandability, environment suitability, etc.).  
+
Stakeholders have concerns that correspond to expected behavior facing operational, environmental, physical constraints, and more general life cycle constraints. Stakeholders’ requirements and system requirements express these concerns as expected abilities from the system (e.g., usability, interoperability, security, expandability, environment suitability, etc.).  
  
Designers are able to identify these abilities from requirements and to deduce corresponding quantitative or qualitative Design Properties to equip their Physical Architecture (example: reliability, availability, maintainability, modularity, robustness, operability, climatic environment resistance, dimensions limits, etc.)
+
Designers are able to identify these abilities from requirements and to deduce corresponding quantitative or qualitative design properties to equip their physical architecture (e.g., reliability, availability, maintainability, modularity, robustness, operability, climatic environment resistance, dimensions limits, etc.).
  
A system Physical Architecture owns Design Properties that each of its elements may have partially or not, but that the arrangement of them owns.  
+
A system physical architecture owns design properties that each of its elements may or may not partially have, but that the arrangement of them owns.  
  
 
===Emergent Properties===
 
===Emergent Properties===
  
'''[[Emergence (glossary) | Emergence]]''' is the principle that whole entities exhibit properties, which are meaningful only when attributed to the whole, not to its parts. Every model of a human activity system exhibits properties as a whole entity which derive from its component activities and their structure, but cannot be reduced to them (Checkland 1999).
+
'''[[Emergence (glossary)]]''' is the principle that entities exhibit properties which are meaningful only when attributed to the whole, not to its parts. Every model of a human activity system exhibits properties as a whole entity that is derived from its component activities and their structure, but cannot be reduced to them (Checkland 1999).
  
System Elements interact between themselves and can create desirable or undesirable phenomena called "emergent properties," such as inhibition, interference, resonance, or reinforcement of any property. Definition of the system includes an analysis of interactions between System Elements in order to prevent undesirable properties and reinforce desirable ones.
+
System elements interact between themselves and can create desirable or undesirable phenomena called "emergent properties," such as inhibition, interference, resonance, or reinforcement of any property. The definition of the system includes an analysis of interactions between system elements in order to prevent undesirable properties and reinforce desirable ones.
  
A property which emerges from a system can have various origins: from a single System Element, from several ones, or from interaction between several ones (Thome, B. 1993) see Table 2, also article from Dereck Hitchins at http://www.hitchins.net/EmergenceEtc.pdf
+
A property which emerges from a system can have various origins, from a single system element to several ones, or from interaction between several ones (Thome, B. 1993). (For more information, see Table 2, as well as the article by Dereck Hitchins at http://www.hitchins.net/EmergenceEtc.pdf.).
  
  
Line 66: Line 66:
  
  
The notion of emergent property is used during design to highlight necessary derived functions and internal physical or environmental constraints. Corresponding “derived requirements” should be added to System Requirements baseline when they impact the System of Interest.
+
The notion of emergent properties is used during design to highlight necessary derived functions and internal physical or environmental constraints. Corresponding “derived requirements” should be added to the system requirements baseline when they impact the system of interest.
  
 
===Allocation of Logical Elements to Physical Elements and Partitioning===
 
===Allocation of Logical Elements to Physical Elements and Partitioning===
  
Designing a candidate Physical Architecture of a system consists first to identify System Elements capable to perform Functions of the Logical Architecture, and to identify Physical Interfaces capable to carry Input-output Flows and control flows. These elements have also to take account Design Properties deduced from System Requirements.  
+
Designing a candidate physical architecture of a system consists in first identifying system elements capable of performing functions of the logical architecture, and to identify physical interfaces capable of carrying out input-output flows and control flows. These elements must also take into account design properties deduced from system requirements.  
  
Partitioning and allocation are activities to decompose, gather, or separate Functions in order to be able to identify feasible System Elements that support these Functions. Either they exist (re-usable), are re-purposed, or can be developed and technically implemented.
+
Partitioning and allocation are activities to decompose, gather, or separate functions in order to facilitate the identification of feasible system elements that support these functions. Either they exist (are re-usable), are re-purposed, or can be developed and technically implemented.
  
Partitioning and allocation use criteria to find potential affinities between functions. Designers use directly System Requirements and/or Design Properties as criteria to assess and select physical candidate System Elements and partitions of Functions; examples: similar transformations within same technology, similar level of efficiency, exchange of same type of Input-output Flows (information, energy, materials), centralized or distributed controls, execution with close frequency level, dependability conditions, environment resistance level, etc., other enterprise constraints.
+
Partitioning and allocation use criteria to find potential affinities between functions. Designers use system requirements and/or design properties as criteria to assess and select physical candidate system elements and partitions of functions; e.g., similar transformations within the same technology, similar levels of efficiency, exchange of the same type of input-output flows (information, energy, and materials), centralized or distributed controls, execution with close frequency level, dependability conditions, environment resistance level, other enterprise constraints, etc.
  
 
===Designing Physical Candidate Architectures===
 
===Designing Physical Candidate Architectures===
  
The goal of Physical Design activities is to provide the “best” possible Physical Architecture made of suitable System Elements and Physical Interfaces (i.e., the architecture that answers, at best, all System Requirements, depending on agreed limits or margins of each requirement). There is no other way than producing several candidate Physical Architectures, assessing and comparing them, then selecting the most suitable one.
+
The goal of physical design activities is to provide the “best” possible physical architecture made of suitable system elements and physical interfaces (i.e., the architecture that answers, at best, all system requirements, depending on agreed limits or margins of each requirement). The best possible way to do this is to produce several candidate physical architectures, assess and compare them, and then select the most suitable one.
  
A candidate Physical Architecture is worked out according to affinity criteria, in order to build up a set of sub-systems and System Elements (i.e., separate, gather, connect, disconnect the network of System Elements and their Physical interfaces).
+
A candidate physical architecture is worked out according to affinity criteria in order to build a set of sub-systems and system elements (i.e., separate, gather, connect, and disconnect the network of system elements and their physical interfaces).
  
These [[Assessment Criterion (glossary) | criteria]] are the same as those used for partitioning and allocation of Functions to System Elements. To summarize, orientations can be:
+
These [[Assessment Criterion (glossary)|criteria (glossary)]] are the same as those used for partitioning and the allocation of functions to system elements. To summarize, orientations can be
  
** Reduction of the number of Physical Interfaces
+
* a reduction in the number of physical interfaces;
** System Elements that can be tested separately
+
* system elements that can be tested separately;
** Modularity, i.e. low interdependence
+
* modular, i.e., have low interdependence;
** Maintainability, replace-ability of System Elements
+
* maintainable, replaceable system elements;
** Compatible technology
+
* compatible technology;
** Proximity of elements in space
+
* measures of the proximity of elements in space;
** Handling (weight, volume, transportation facilities)
+
* accounts of handling (weight, volume, and transportation facilities);
** Optimization of resources shared between elements
+
* optimization of resources shared between elements; etc.
** Etc.
 
  
===Evaluating and selecting the preferred candidate===
 
  
All viable Physical Architectures implement all required Functions after trade-offs are made. The preferred Physical Architecture represents the optimum design.
+
===Evaluating and Selecting the Preferred Candidate===
  
Design activity includes optimization to obtain a balance among Design Properties, cost, risks, etc. Generally, it is found that the architecture of a system is determined more strongly by non-functional requirements (performance, safety, security, environmental conditions, constraints, etc.) than by functions. There may be many ways to achieve functions but fewer ways to satisfying non-functional requirements.
+
All viable physical architectures implement all required functions after trade-offs are made. The preferred physical architecture represents the optimum design.
  
Certain analyses (efficiency, dependability, cost, risks, etc.) are required to get sufficient data that characterize the global behavior of the candidate architectures, regarding System Requirements. Those analyses are gathered behind the terms “System Analysis” (see [[System Analysis]] topic).
+
Design activity includes optimization to obtain a balance among design properties, cost, risks, etc. Generally,  the architecture of a system is determined more strongly by non-functional requirements (performance, safety, security, environmental conditions, constraints, etc.) than by functions. There may be many ways to achieve functions but fewer ways of satisfying non-functional requirements.
 +
 
 +
Certain analyses (efficiency, dependability, cost, risks, etc.) are required to get sufficient datum that characterize the global behavior of the candidate architectures regarding system requirements. Those analyses are gathered behind the terms “system analysis” (see the [[System Analysis]] Topic).
  
 
===Systems of Systems===
 
===Systems of Systems===
  
Considering a set of existing Systems of Interest that have their own existence in their own context of use, one issue is to know if it is possible to constitute a System of Interest that includes those as System Elements. The higher level system has a mission, a purpose, a context of use, objectives and architectural elements. Engineering of such systems includes generally both reverse engineering and top down approach. It is the case when upgrading facilities in the frame of a company using information technology keeping legacy systems.
+
When considering a set of existing systems of interest that have their own existence in their own context of use, one issue knowing whether or not it is possible to constitute a system of interest that includes those as system elements. The higher level system has a mission, a purpose, a context of use, objectives, and architectural elements. Engineering of such systems generally includes both reverse engineering and a top down approach,  as is the case when upgrading facilities in the frame of a company using information technology keeping legacy systems.
  
The architecture activity combines a top-down approach, but also a bottom-up approach induced by the necessity to integrate existing or legacy systems on which no or very few modifications can be applied. Additional tasks consist to identify capabilities and interfaces of these existing systems. The architecture activity has to answer two questions:
+
The architecture activity combines a top-down approach, but also a bottom-up approach induced by the necessity to integrate existing or legacy systems on which no (or very few) modifications can be applied. Additional tasks consist of identifying capabilities and interfaces of these existing systems. The architecture activity has to answer two questions:
  
* how to fulfill requirements of the new System of Interest,
+
*How can the requirements of the new system of interest be fulfilled?
*how to manage with legacy systems.
+
*How can legacy systems be managed?
  
 
==Process Approach==
 
==Process Approach==
Line 115: Line 115:
 
===Purpose===
 
===Purpose===
  
The purpose of the Physical Architecture Design Process is to define, select and synthesize a system Physical Architecture able to perform the Logical Architecture, equipped with specific Design Properties to challenge continuously stakeholder or environmental concerns, and able to satisfy and trade-off concerned System Requirements.
+
The purpose of the physical architecture design process is to define, select, and synthesize a system physical architecture able to perform the logical architecture equipped with specific design properties to continuously challenge stakeholder or environmental concerns, as well as be able to satisfy and trade-off concerned system requirements.
  
'''Generic inputs''' include the selected Logical Architecture, System Requirements, generic design patterns and properties that designers identify and use to answer requirements, outcomes from System Analysis, and feedback from Verification and Validation.
+
'''Generic inputs''' include the selected logical architecture, system requirements, generic design patterns and properties that designers identify and use to answer requirements, outcomes from system analysis, and feedback from verification and validation.
  
'''Generic outputs''' are the selected Physical Architecture, allocation matrix of functional elements to physical elements, traceability matrix with System Requirements, Stakeholder Requirements of each system and System Element composing the Physical Architecture, rejected solutions.
+
'''Generic outputs''' are the selected physical architecture, allocation matrix of functional elements to physical elements, traceability matrix with system requirements, stakeholder requirements of each system and system elements composing the physical architecture, and rejected solutions.
  
 
===Activities of the Process===
 
===Activities of the Process===
  
Major activities and tasks performed during this process include:
+
Major activities and tasks to be performed during this process include the following:
  
#Partition and allocate functional elements to System Elements:
+
*Partition and allocate functional elements to system elements:
##Search for System Elements or technologies able to perform Functions, and Physical Interfaces to carry input-output, control Flows; ensure System Elements exist or can be engineered. Assess each potential System Element using criteria deduced from Design Properties (themselves deduced from non-functional System Requirements).
+
**Search for system elements or technologies able to perform Functions, and physical interfaces to carry input-output and control Flows. Ensure system elements exist or can be engineered. Assess each potential system element using criteria deduced from design properties (themselves deduced from non-functional system requirements).
##Partition functional elements (Functions, Scenarios, input-outputs, triggers) using criteria, and allocate partitioned sets to System Elements (same criteria as previously).
+
**Partition functional elements (functions, scenarios, input-outputs, triggers, etc.) using the given criteria, and allocate partitioned sets to system elements (using the same criteria).
##When it is impossible to identify a System Element that corresponds to a partitioned functional set, decompose the Function till being able to identify implementable System Elements.
+
**When it is impossible to identify a system element that corresponds to a partitioned functional set, decompose the function until the identification of implementable system elements is possible.
##Check compatibility of technologies and with interfaces between selected System Elements.
+
**Check the compatibility of technologies and the compatibility of interfaces between selected system elements.
#Model and design candidate Physical Architectures; for each candidate:
+
*Model and design candidate physical architectures for each candidate:
##Because partitioned sets of Functions can be numerous, there are generally too many System Elements. For designing controllable architectures, System Elements have to be grouped into higher-level System Elements, so called sub-systems.
+
**Because partitioned sets of functions can be numerous, there are generally too many system elements. For designing controllable architectures, system elements have to be grouped into higher-level system elements known as sub-systems.
##Constitute several different sets of sub-systems corresponding to different combinations of elementary System Elements. One set of sub-systems plus one or several not decomposable System Elements form a candidate Physical Architecture of the considered system.
+
**Constitute several different sets of sub-systems corresponding to different combinations of elementary system elements. One set of sub-systems plus one or several non-decomposable system elements form a candidate physical architecture of the considered system.
##Represent (using design patterns) the Physical Architecture of each sub-system connecting its System Elements with Physical Interfaces that carry input-output Flows and triggers. Add Physical Interfaces as needed, in particular with external elements to the sub-system.
+
**Represent (using design patterns) the physical architecture of each sub-system connecting its system elements with physical interfaces that carry input-output Flows and triggers. Add physical interfaces as needed, in particular, add interfaces with external elements to the sub-system.
##Represent then the synthesized Physical Architecture of the considered system built from sub-systems, System Elements and Physical Interfaces inherited from the Physical Architecture of sub-systems.
+
**Represent the synthesized physical architecture of the considered system built from sub-systems, system elements, and physical interfaces inherited from the physical architecture of sub-systems.
##Equip the Physical Architecture with Design Properties such as modularity, evolution capability, adaptation capability to different environments, robustness, scalability, resistance to environmental conditions, etc.
+
**Equip the physical architecture with design properties such as modularity, evolution capability, adaptability to different environments, robustness, scalability, resistance to environmental conditions, etc.
#Assess candidate Physical Architectures and select the most suitable:
+
*Assess physical architecture candidates and select the most suitable one:
##Constitute a decision model based on criteria deduced from non-functional requirements (effectiveness, environmental conditions, safety, human factors, cost, risks, etc.), and Design Properties (modularity, communication commonality, maintainability, etc.)
+
**Constitute a decision model based on criteria deduced from non-functional requirements (effectiveness, environmental conditions, safety, human factors, cost, risks, etc.) and design properties (modularity, communication commonality, maintainability, etc.)
##Assess candidate Physical Architectures against criteria. Select the most suitable one comparing scores and rationales regarding criteria. Use preferably the System Analysis Process to perform assessments see [[System Analysis]] topic.
+
**Assess physical architecture candidates against the given criteria. Select the most suitable one by comparing scores and rationales to determine which candidate best matches the criteria. Use the system analysis process to perform assessments (see the [[System Analysis]] Topic).
#Synthesize the selected Physical Architecture
+
*Synthesize the selected physical architecture:
##Formalize physical elements and properties. Verify that System Requirements are satisfied and the solution is realistic.  
+
*Formalize physical elements and properties. Verify that system requirements are satisfied and that the solution is realistic.  
##Identify derived physical and functional elements created for the necessity of design, and corresponding System Requirements.
+
**Identify the derived physical and functional elements created for the necessity of design and the corresponding system requirements.
##Establish traceability between System Requirements and physical elements, and allocation matrices between functional and physical elements.
+
**Establish traceability between system requirements and physical elements, as well as allocation matrices between functional and physical elements.
#Prepare acquisition of each system or System Element:
+
*Prepare for the acquisition of each system or system element:
##Define its mission and objectives from allocated Functions and effectiveness.
+
**Define the system or system element’s mission and objectives from allocated functions and effectiveness.
##Define its Stakeholder Requirements (the concerned stakeholder being the current studied system). Additional information about development of stakeholder requirements can be found in [[Stakeholders Requirements]] topic.
+
**Define the stakeholder requirements (the concerned stakeholder being the current studied system). Additional information about development of stakeholder requirements can be found in the [[Stakeholders Requirements]] topic.
##Establish traceability between its Stakeholder Requirements and design elements of the studied system. This allows traceability of requirements between two layers of systems.
+
**Establish traceability between the stakeholder requirements and design elements of the studied system. This allows traceability of requirements between two layers of systems.
  
 
===Artifacts and Ontology Elements===
 
===Artifacts and Ontology Elements===
  
This process may create several artifacts such as:
+
This process may create several artifacts, such as
  
#System Design Document (describes selected logical and physical architectures)
+
*system design documents (describe selected logical and physical architectures);
#System Design Justification Document (traceability matrices and design choices)
+
*system design justification documents (traceability matrices and design choices); and
#System Element Stakeholder Requirements Document (one for each system or System Element)
+
*system element stakeholder requirements documents (one for each system or system element).
 
This process handles the ontology elements of Table 3.
 
This process handles the ontology elements of Table 3.
  
Line 161: Line 161:
 
<center> TABLE 3 - Ontology elements handled within Physical Architecture Design </center>
 
<center> TABLE 3 - Ontology elements handled within Physical Architecture Design </center>
  
Note: The element "Interface" may include both functional and physical aspects. It can be used for technical management purpose.
+
Note: The element "Interface" may include both functional and physical aspects. It can be used for technical management purposes.
  
Note: System Element Requirements become Stakeholder Requirements applicable to the System Element of the lower layer of decomposition.
+
Note: System element requirements become stakeholder requirements applicable to the system element of the lower layer of decomposition.
  
 
===Methods and Modeling Techniques===
 
===Methods and Modeling Techniques===
  
Physical Architecture Design uses modeling techniques such as:
+
Physical architecture design uses modeling techniques, such as
  
* Physical Block Diagrams (PBD)
+
* Physical Block Diagrams (PBD);
* SysML Block Definition Diagrams, Internal Block Diagrams (OMG. 2010), etc.
+
* SysML Block Definition Diagrams;
 +
*Internal Block Diagrams (OMG. 2010); etc.
  
  
 
==Practical Considerations==
 
==Practical Considerations==
  
Major pitfalls encountered with Physical Architecture Design are presented in Table 4.
+
Major pitfalls encountered with physical architecture design are presented in Table 4.
 
 
  
 
<center> TABLE 4 </center>
 
<center> TABLE 4 </center>
Line 183: Line 183:
  
  
Proven practices with Physical Architecture Design are presented in Table 5.
+
Proven practices with physical architecture design are presented in Table 5.
 
 
  
 
<center> TABLE 5 </center>
 
<center> TABLE 5 </center>
  
 
<center> TABLE 5 - Proven practices </center>
 
<center> TABLE 5 - Proven practices </center>
 +
 
==References==
 
==References==
  
Line 199: Line 199:
 
===Additional References===
 
===Additional References===
 
Additional References.
 
Additional References.
 +
  
 
=Comments from 0.5 Wiki=
 
=Comments from 0.5 Wiki=

Revision as of 13:32, 1 March 2012

Once a logical architecture is defined, concrete physical elements have to be identified that could support functional, behavioral, and temporal features, as well as expected properties of the system deduced from non-functional system requirements.

Because of the evolution of the context of use, or technological possibilities, the physical architecture made of system elements is supposed to change along the life cycle of the system in order for it to continue to perform its mission within the limits of its required effectiveness. Depending on whether or not evolution impacts logical architecture elements, allocations to system elements could change. A physical architecture is equipped with specific design properties to continuously challenge the evolution.

Definition and Purpose

The purpose of physical architecture design is to create a physical concrete solution that performs the logical architecture, as well as satisfies and trades-off system requirements.

A physical architecture is an arrangement of physical elements (system elements and physical interfaces) which provides the design solution for a product, service, or enterprise, and is intended to satisfy logical architecture elements and system requirements (ISO/IEC 26702). It is implementable through technologies.

Concepts and Principles

Concepts of System Elements, Physical Interfaces, and Physical Architecture

A system element is a discrete part of a system that can be implemented to fulfill design properties. A system element can be hardware, software, data, humans, processes (e.g., processes that provide a service to users), procedures (e.g., operator instructions), facilities, materials, and naturally occurring entities (e.g., water, organisms, and minerals), or any combination of these (ISO/IEC 15288:2008).

A physical interface is a system element that physically binds two system elements. A physical interface is similar to a link or a connector.

Table 1 provides some examples of system elements and physical interfaces.


TABLE 1
TABLE 1 - Examples of System Elements and Physical Interfaces


A complex system composed of thousands of physical and/or intangible parts is structured in several layers of systems and system elements. The number of elements in the decomposition of one system is limited to a few in order to facilitate the ease of mastering the system; generally 5+ or - 2 elements.


FIGURE 1
FIGURE 1 - Layers of systems and System Elements

Every system in each layer of the decomposition is structured as a physical architecture.

A physical architecture is built from systems, system elements, and all necessary physical interfaces between these elements, as well as from external elements (neighboring systems and/or system elements in the considered layer and concerned elements in the context of the global system of interest).

FIGURE 2
FIGURE 2 - Physical Architecture representation

Concept of Design Property

A design property is associated to a system element, a physical interface, and/or a physical architecture. It is a property obtained during design through the assignment of non-functional requirements, or estimates, analyses, calculations, simulations of a specific aspect, or obtained through the definition of an existing element.

If the designed element complies with a requirement, the design property should equal the requirement. Otherwise, one has to identify any discrepancy that could modify the requirement, the design, or identify a deviation.

Stakeholders have concerns that correspond to expected behavior facing operational, environmental, physical constraints, and more general life cycle constraints. Stakeholders’ requirements and system requirements express these concerns as expected abilities from the system (e.g., usability, interoperability, security, expandability, environment suitability, etc.).

Designers are able to identify these abilities from requirements and to deduce corresponding quantitative or qualitative design properties to equip their physical architecture (e.g., reliability, availability, maintainability, modularity, robustness, operability, climatic environment resistance, dimensions limits, etc.).

A system physical architecture owns design properties that each of its elements may or may not partially have, but that the arrangement of them owns.

Emergent Properties

emergence is the principle that entities exhibit properties which are meaningful only when attributed to the whole, not to its parts. Every model of a human activity system exhibits properties as a whole entity that is derived from its component activities and their structure, but cannot be reduced to them (Checkland 1999).

System elements interact between themselves and can create desirable or undesirable phenomena called "emergent properties," such as inhibition, interference, resonance, or reinforcement of any property. The definition of the system includes an analysis of interactions between system elements in order to prevent undesirable properties and reinforce desirable ones.

A property which emerges from a system can have various origins, from a single system element to several ones, or from interaction between several ones (Thome, B. 1993). (For more information, see Table 2, as well as the article by Dereck Hitchins at http://www.hitchins.net/EmergenceEtc.pdf.).


TABLE 2
TABLE 2 - Emergent properties


The notion of emergent properties is used during design to highlight necessary derived functions and internal physical or environmental constraints. Corresponding “derived requirements” should be added to the system requirements baseline when they impact the system of interest.

Allocation of Logical Elements to Physical Elements and Partitioning

Designing a candidate physical architecture of a system consists in first identifying system elements capable of performing functions of the logical architecture, and to identify physical interfaces capable of carrying out input-output flows and control flows. These elements must also take into account design properties deduced from system requirements.

Partitioning and allocation are activities to decompose, gather, or separate functions in order to facilitate the identification of feasible system elements that support these functions. Either they exist (are re-usable), are re-purposed, or can be developed and technically implemented.

Partitioning and allocation use criteria to find potential affinities between functions. Designers use system requirements and/or design properties as criteria to assess and select physical candidate system elements and partitions of functions; e.g., similar transformations within the same technology, similar levels of efficiency, exchange of the same type of input-output flows (information, energy, and materials), centralized or distributed controls, execution with close frequency level, dependability conditions, environment resistance level, other enterprise constraints, etc.

Designing Physical Candidate Architectures

The goal of physical design activities is to provide the “best” possible physical architecture made of suitable system elements and physical interfaces (i.e., the architecture that answers, at best, all system requirements, depending on agreed limits or margins of each requirement). The best possible way to do this is to produce several candidate physical architectures, assess and compare them, and then select the most suitable one.

A candidate physical architecture is worked out according to affinity criteria in order to build a set of sub-systems and system elements (i.e., separate, gather, connect, and disconnect the network of system elements and their physical interfaces).

These criteria are the same as those used for partitioning and the allocation of functions to system elements. To summarize, orientations can be

  • a reduction in the number of physical interfaces;
  • system elements that can be tested separately;
  • modular, i.e., have low interdependence;
  • maintainable, replaceable system elements;
  • compatible technology;
  • measures of the proximity of elements in space;
  • accounts of handling (weight, volume, and transportation facilities);
  • optimization of resources shared between elements; etc.


Evaluating and Selecting the Preferred Candidate

All viable physical architectures implement all required functions after trade-offs are made. The preferred physical architecture represents the optimum design.

Design activity includes optimization to obtain a balance among design properties, cost, risks, etc. Generally, the architecture of a system is determined more strongly by non-functional requirements (performance, safety, security, environmental conditions, constraints, etc.) than by functions. There may be many ways to achieve functions but fewer ways of satisfying non-functional requirements.

Certain analyses (efficiency, dependability, cost, risks, etc.) are required to get sufficient datum that characterize the global behavior of the candidate architectures regarding system requirements. Those analyses are gathered behind the terms “system analysis” (see the System Analysis Topic).

Systems of Systems

When considering a set of existing systems of interest that have their own existence in their own context of use, one issue knowing whether or not it is possible to constitute a system of interest that includes those as system elements. The higher level system has a mission, a purpose, a context of use, objectives, and architectural elements. Engineering of such systems generally includes both reverse engineering and a top down approach, as is the case when upgrading facilities in the frame of a company using information technology keeping legacy systems.

The architecture activity combines a top-down approach, but also a bottom-up approach induced by the necessity to integrate existing or legacy systems on which no (or very few) modifications can be applied. Additional tasks consist of identifying capabilities and interfaces of these existing systems. The architecture activity has to answer two questions:

  • How can the requirements of the new system of interest be fulfilled?
  • How can legacy systems be managed?

Process Approach

Purpose

The purpose of the physical architecture design process is to define, select, and synthesize a system physical architecture able to perform the logical architecture equipped with specific design properties to continuously challenge stakeholder or environmental concerns, as well as be able to satisfy and trade-off concerned system requirements.

Generic inputs include the selected logical architecture, system requirements, generic design patterns and properties that designers identify and use to answer requirements, outcomes from system analysis, and feedback from verification and validation.

Generic outputs are the selected physical architecture, allocation matrix of functional elements to physical elements, traceability matrix with system requirements, stakeholder requirements of each system and system elements composing the physical architecture, and rejected solutions.

Activities of the Process

Major activities and tasks to be performed during this process include the following:

  • Partition and allocate functional elements to system elements:
    • Search for system elements or technologies able to perform Functions, and physical interfaces to carry input-output and control Flows. Ensure system elements exist or can be engineered. Assess each potential system element using criteria deduced from design properties (themselves deduced from non-functional system requirements).
    • Partition functional elements (functions, scenarios, input-outputs, triggers, etc.) using the given criteria, and allocate partitioned sets to system elements (using the same criteria).
    • When it is impossible to identify a system element that corresponds to a partitioned functional set, decompose the function until the identification of implementable system elements is possible.
    • Check the compatibility of technologies and the compatibility of interfaces between selected system elements.
  • Model and design candidate physical architectures for each candidate:
    • Because partitioned sets of functions can be numerous, there are generally too many system elements. For designing controllable architectures, system elements have to be grouped into higher-level system elements known as sub-systems.
    • Constitute several different sets of sub-systems corresponding to different combinations of elementary system elements. One set of sub-systems plus one or several non-decomposable system elements form a candidate physical architecture of the considered system.
    • Represent (using design patterns) the physical architecture of each sub-system connecting its system elements with physical interfaces that carry input-output Flows and triggers. Add physical interfaces as needed, in particular, add interfaces with external elements to the sub-system.
    • Represent the synthesized physical architecture of the considered system built from sub-systems, system elements, and physical interfaces inherited from the physical architecture of sub-systems.
    • Equip the physical architecture with design properties such as modularity, evolution capability, adaptability to different environments, robustness, scalability, resistance to environmental conditions, etc.
  • Assess physical architecture candidates and select the most suitable one:
    • Constitute a decision model based on criteria deduced from non-functional requirements (effectiveness, environmental conditions, safety, human factors, cost, risks, etc.) and design properties (modularity, communication commonality, maintainability, etc.)
    • Assess physical architecture candidates against the given criteria. Select the most suitable one by comparing scores and rationales to determine which candidate best matches the criteria. Use the system analysis process to perform assessments (see the System Analysis Topic).
  • Synthesize the selected physical architecture:
  • Formalize physical elements and properties. Verify that system requirements are satisfied and that the solution is realistic.
    • Identify the derived physical and functional elements created for the necessity of design and the corresponding system requirements.
    • Establish traceability between system requirements and physical elements, as well as allocation matrices between functional and physical elements.
  • Prepare for the acquisition of each system or system element:
    • Define the system or system element’s mission and objectives from allocated functions and effectiveness.
    • Define the stakeholder requirements (the concerned stakeholder being the current studied system). Additional information about development of stakeholder requirements can be found in the Stakeholders Requirements topic.
    • Establish traceability between the stakeholder requirements and design elements of the studied system. This allows traceability of requirements between two layers of systems.

Artifacts and Ontology Elements

This process may create several artifacts, such as

  • system design documents (describe selected logical and physical architectures);
  • system design justification documents (traceability matrices and design choices); and
  • system element stakeholder requirements documents (one for each system or system element).

This process handles the ontology elements of Table 3.

TABLE 3
TABLE 3 - Ontology elements handled within Physical Architecture Design

Note: The element "Interface" may include both functional and physical aspects. It can be used for technical management purposes.

Note: System element requirements become stakeholder requirements applicable to the system element of the lower layer of decomposition.

Methods and Modeling Techniques

Physical architecture design uses modeling techniques, such as

  • Physical Block Diagrams (PBD);
  • SysML Block Definition Diagrams;
  • Internal Block Diagrams (OMG. 2010); etc.


Practical Considerations

Major pitfalls encountered with physical architecture design are presented in Table 4.

TABLE 4
TABLE 4 - Pitfalls


Proven practices with physical architecture design are presented in Table 5.

TABLE 5
TABLE 5 - Proven practices

References

Works Cited

Citations

Primary References

Primary references.

Additional References

Additional References.


Comments from 0.5 Wiki

<html> <iframe src="http://bkcasewiki.org/index.php?title=Talk:Architectural_Design&printable=yes" width=825 height=200 frameborder=1 scrolling=auto> </iframe> </html>


SEBoK v. 1.9.1 released 30 September 2018

SEBoK Discussion

Please provide your comments and feedback on the SEBoK below. You will need to log in to DISQUS using an existing account (e.g. Yahoo, Google, Facebook, Twitter, etc.) or create a DISQUS account. Simply type your comment in the text field below and DISQUS will guide you through the login or registration steps. Feedback will be archived and used for future updates to the SEBoK. If you provided a comment that is no longer listed, that comment has been adjudicated. You can view adjudication for comments submitted prior to SEBoK v. 1.0 at SEBoK Review and Adjudication. Later comments are addressed and changes are summarized in the Letter from the Editor and Acknowledgements and Release History.

If you would like to provide edits on this article, recommend new content, or make comments on the SEBoK as a whole, please see the SEBoK Sandbox.

blog comments powered by Disqus