Difference between revisions of "Physical Architecture Model Development"
|Line 184:||Line 184:|
Some of the key pitfalls encountered in planning and performing physical architecture definition are provided in Table
Some of the key pitfalls encountered in planning and performing physical architecture definition are provided in Table .
|Line 205:||Line 205:|
Some proven practices gathered from the references are provided in Table
Some proven practices gathered from the references are provided in Table .
|+'''Table . Proven Practices with Physical Architecture Design.''' (SEBoK Original)
Revision as of 18:10, 6 April 2013
The purpose of physical architecture definition (or design) is to create a physical, concrete solution that accommodates the logical architecture and satisfies and trades-off system requirements. Once a logical architecture is defined (see Architectural Design: Logical), concrete physical elements have to be identified that can support functional, behavioral, and temporal features as well as expected properties of the system deduced from non-functional system requirements (for example constraint of replacement of obsolescence, and/or continued product support).
A physical architecture is an arrangement of physical elements (system elements and physical interfaces) which provides the designed solution for a product, service, or enterprise. It is intended to satisfy logical architecture elements and system requirements (ISO/IEC 26702 2007). It is implementable through technological system elements. System requirements are allocated to both the logical and physical architectures. The resulting system architecture is assessed with system analysis and when achieved becomes the basis for system realization.
In many cases, particularly when multiple systems are to be designed to a common physical architecture, one of the drivers for the physical architecture may be interface standards. In fact these physical interfaces may well be one of the most important concerns for these systems. It is quite possible that such interface standards are mandated at a high level in the System Requirements. On the other hand it is equally possible for standards to be derived during Physical Architecture Design and these can be critical enablers for desirable engineering outcomes such as families of systems, technology insertion, interoperability and “open systems”. For example today’s video, hi-fi and computer systems have all benefitted from adoption of interface standards. Other examples exist in most fields of engineering from nuts and bolts, plumbing, electrical installations, rail gauges, TCP/IP, IT systems and software to modular defence and space systems.
- 1 Concepts and Principles
- 1.1 System Element, Physical Interface, and Physical Architecture
- 1.2 Design Property
- 1.3 Emergent Properties
- 1.4 Allocation of Logical Elements to Physical Elements and Partitioning
- 1.5 Developing Physical Candidate Architectures
- 1.6 Evaluating and Selecting the Preferred Candidate
- 1.7 Legacy Systems and Systems of Systems
- 2 Process Approach
- 3 Practical Considerations
- 4 References
- 5 SEBoK Discussion
Concepts and Principles
System Element, Physical Interface, 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/IEEE 15288 2008). A physical interface binds two system elements together; this is similar to a link or a connector. Table 1 provides some examples of system elements and physical interfaces.
|Element||Product System||Service System||Enterprise System|
|Physical Interface||Hardware parts, protocols, procedures, etc.||Protocols, documents, etc.||Protocols, procedures, documents, etc.|
A complex system composed of thousands of physical and/or intangible parts may be structured in several layers of systems and system elements. The number of elements in the decomposition of one system is limited to only a few, in order to facilitate the ease of mastering the system; a common guideline is five plus or minus two elements (see illustration in Figure 1).
A physical architecture is built from systems, system elements, and all necessary physical interfaces between these elements, as well as from external elements (neighboring or enabling systems and/or system elements in the considered layer and concerned elements in the context of the global system-of-interest) - see illustration in Figure 2.
A design property is a property that is obtained during system architecture and design through the assignment of non-functional requirements, estimates, analyses, calculations, simulations of a specific aspect, or through the definition of an existing element associated with a system element, a physical interface, and/or a physical architecture. If the designed element complies with a requirement, the design property will relate to (or may 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 within operational, environmental, or physical constraints as well as to more general life cycle constraints. Stakeholder requirements and system requirements express these concerns as expected abilities from the system (e.g., usability, interoperability, security, expandability, environment suitability, etc.). Architects and/or designers identify these abilities from requirements and 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.). (For more discussion on how some of these properties may be included in architecture and design, please see the article Systems Engineering and Specialty Engineering in the Related Disciplines knowledge area (KA).
The overarching physical architecture of a system may have design properties that emerge from the arrangement and interaction between technological system elements, but which may not be properties of any individual element. Emergence is the principle which states that entities exhibit properties which are meaningful only when attributed to the whole, not to its parts.
The elements of an engineered system interact among themselves and can create desirable or undesirable phenomena 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 the interactions among several elements (Thome, B. 1993). The system concept of emergence is discussed in SEBoK Part 2 (see Emergence). In particular the term emergent properties is used by some authors to identify any property which emerges from a system; while other use synergy for this and reserve emergent property for unexpected properties or properties not considered fully during system development which then emerge during operation.
|Broad Categories of Properties||Description and examples|
|Local property||The property is located in a single system element – e.g. the capacity of a container is the capacity of the system.|
|Accumulative System property||The property is located in several system elements, and is obtained by simple summation of elemental properties – e.g. the weight of the system results from the sum of the weights of its system elements.|
|Emergent property modified by architecture and/or interactions.||The property exists in several system elements and is modified by their interactions – e.g. the reliability/safety of a system results from the reliability/safety of each system element and the way they are organized. Architectural steps are often critical to meeting System Requirements.|
|Emergent property created by interactions||The property does not exist in system elements and results only from their interactions – e.g. electromechanical interfaces, electromagnetism, static electricity, etc.|
|Controlled emergent property||Property controlled or inhibited before going outside the system – e.g.: unbalance removed by the addition of a load; vibration deadened by a damper.|
Physical architecture design will include identification of likely synergies and emergent properties and the inclusion of derived functions, components, arrangements or environmental constraints in the logical or physical architectures to avoid, mitigate or keep them within acceptable limits. Corresponding derived requirements should be added to the system requirements baseline when they impact the system-of-interest (SoI). This may be achieved through the knowledge and experienced of the Systems Engineer or through the application of System Patterns. However, it is generally not possible to predict, avoid or control all emergent properties in the physical architecture design. Fully dealing with the consequences of emergence can only be done via iteration between system definition , system realization and system deployment and use .
The notion of emergence is used during architecture and design to highlight necessary derived functions and internal physical Emergence is often linked to the notion of complexity. This is the case with complex adaptive systems (CAS), systems where the individual elements act independently but jointly behave according to common constraints and goals (Flood and Carson 1993). Examples of CAS include the global macroeconomic network within a country or group of countries, stock market, complex web of cross border holding companies, manufacturing businesses, geopolitical organizations, etc. (Holland, J. 1999 and 2006).
Allocation of Logical Elements to Physical Elements and Partitioning
Defining a candidate physical architecture for a system consists of first identifying system elements that can perform functions of the logical architecture as well as identifying the interfaces capable of carrying out input-output flows and control flows. When identifying potential elements, a systems engineer needs to allocate design properties within the logical architecture; these properties are 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 and can be reused or re-purposed, or they can be developed and technically implemented.
Partitioning and allocation use criteria to find potential affinities between functions. Systems engineers use system requirements and/or design properties as criteria to assess and select physical candidate system elements and partitions of functions, such as 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, and other enterprise constraints.
A concurrent engineering approach is necessary when several different sets of technologies, knowledge, and skills are necessary to work out a candidate physical architecture. This is particularly true during the partition and allocation of functions to various system elements, in which the systems engineer must account for compatibility issues and emergent properties.
Developing Physical Candidate Architectures
The goal of physical architecture and design activities is to provide the best possible physical architecture made of suitable systems, technological 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 way to do this is to produce several candidate physical architecture models, 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 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 allocating functions to system elements. The physical architecture definition may be focused in different ways, for example:
- reduction in the number of physical interfaces,
- system elements that can be tested separately,
- compatible technology,
- measures of the proximity of elements in space,
- ease of handling (weight, volume, and transportation facilities),
- optimization of resources shared between elements,
- modularity (i.e. elements have low interdependence),
- resilience (i.e. elements which are highly reliable, maintainable or replaceable).
Evaluating and Selecting the Preferred Candidate
Viable physical architectures enable all required functions or capabilities specified in the logical architecture to be realised. Architecture and design activity includes optimization to obtain a balance among design properties, costs, risks, etc. Generally, the physical architecture of a system is determined more strongly by non-functional requirements (e.g., performance, safety, security, environmental conditions, constraints, etc.) than by functions. There may be many (physical) ways to achieve functions but fewer ways of satisfying non-functional requirements. The preferred physical architecture represents selection of physical components, their physical relationships and interfaces. Typically this physical architecture will still leave further systems engineering to be undertaken to achieve a fully optimized system design after any remaining trade-offs are made and algorithms and parameters of the system are finalised.
Certain analyses (efficiency, dependability, cost, risks, etc.) are required to get sufficient data that characterize the global behavior and structure of the candidate architectures regarding system requirements; this is often broadly referred to as system analysis. Other analyses and assessments require knowledge and skills from the different involved technologies and specialities (mechanics, electronics, software, thermodynamics, electro-magnetic compatibility, safety, security etc.). They are performed through corresponding specialist analysis of the physical architecture or system.
Legacy Systems and Systems of Systems
Few systems come into existence or operate without interacting with others in a system context . These interactions may be with other operational systems, or maintenance and support systems, which in turn may be legacy (already in use) or future legacy (under development and likely to operate with the system of interest some time in the future).
The approach to be taken will depend on the strength of interactions between the system-of-interest (SoI) and its wider context. Where these are small, they may be catered for by defining a set of static external interfaces (for example technical standards) with which the system must comply, including these as constraints in the System Requirements, and ensuring compliance through design assurance.
Where the interactions are more intense, for example where continuous information is to be exchanged with other systems, these will have to be recognized as part of a system of systems context and considered as part of an enterprise systems engineering (ese) approach.
Another important consideration may be the sharing of technology or system elements between the SoI and other systems, often as part of a family of systems (many examples occur in automotive and aerospace industries) or re-using system elements from existing legacy. Here a degree of top-down or middle-out design work will be necessary to ensure the system of interest embodies the required system elements while conforming as far as possible to the user and system requirements, with any compromises understood and managed.
If a System-of-Interest is intended to be used in one or more service system or system of systems configurations this will affect its physical architecture. One of the features of these SoS is the late binding of component systems in use. Such component systems must be architected with open or configurable interfaces; clearly defined functions packaged in such a way as to be relevant to the SoS using them; and must include some method by which they can be identified and included in the SoS when needed.
Both Service Systems and System of Systems will be defined by a high level Physical Architecture, which will be used to define relevant SoS relationships, interfaces and constraints which should be included in Concept Definition. The results will be embedded in the stakeholder and system requirements and handled through interface agreements and across-project communication during development, realization and use.
Please see SEBoK Part 4 Applications of Systems Engineering for more information on special considerations for architecting SoS.
The purpose of the physical architecture definition (design) process is to define, select, and synthesize a system physical architecture which can support the logical architecture. A physical architecture will have specific properties designed to address stakeholder or environmental issues and satisfy system requirements.
Because of the evolution of the context of use or technological possibilities, the physical architecture which is composed 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 may change. A physical architecture is equipped with specific design properties to continuously challenge the evolution.
Generic inputs include the selected logical architecture, system requirements, generic patterns and properties that designers identify and utilize to answer requirements, outcomes from system analysis, and feedback from system verification and system 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, 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 candidate physical architectures; for each candidate
- Because partitioned sets of functions can be numerous, there are generally too many system elements. For defining 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 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, non-decomposable system, 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.
- If possible, use executable architecture prototypes (e.g., hardware-software (HW-SW)-in-the-loop prototypes) for identifying potential deficiencies and correct the architecture as needed.
- 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 architecture and design and the corresponding system requirements.
- Establish traceability between system requirements and physical elements as well as allocate matrices between functional and physical elements.
- Prepare for the acquisition of each system or non-decomposable 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 these stakeholder requirements and elements of the studied system (in particular design properties). This allows traceability of requirements between two layers of systems.
Artifacts, Methods and Modeling Techniques
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).
The content, format, layout and ownership of these artifacts will vary depending on who is creeating them and what domains they are for. Between them the outputts of the process activities should cover the information identified in the first part of this artical.
Modeling techniques are used to create and represent physical architectures. Some common models include
- physical block diagrams (PBD),
- SysML block definition diagrams (BDD),
- internal block diagrams (IBD) (OMG 2010), and
- executable architecture prototyping.
Depending on the type of domain (defense, enterprise, etc.), architecture frameworks such as DoDAF (DoD 2010), TOGAF (The Open Group 2011), the Zachman framework (Zachman 2008), etc., provide descriptions that can help to trade-off candidate architectures - see section 'Enterprise Architecture Frameworks & Methodologies' in Enterprise Systems Engineering Key Concepts.
Key pitfalls and good practices related to physical architecture definition are described in the next two sections.
Some of the key pitfalls encountered in planning and performing physical architecture definition are provided in Table 3.
|Too many levels in a single system block||The current system block includes too many levels of decomposition. The right practice is that the physical architecture of a system block is composed of one single level of systems and/or system elements.|
|No functional architecture||The developers perform a direct passage from system requirements to physical architecture without establishing a logical architecture; this is a common wrong practice mainly done when dealing with repeating systems and products because the functions are already known. The issue is that a function is always associated with input-output flows defined in a specific domain set. If the domain set changes, the performance of the function can become invalid.|
|Direct allocation on technologies||At a high level of abstraction of multidisciplinary systems, directly allocating the functions onto technologies of the lowest level of abstraction, such as hardware or software, does not reflect a system comprehension. The right practice is to consider criteria to decompose the architecture into the appropriate number of levels, alternating logical and physical before reaching the technology level (last level of system).|
|Reuse of system elements||In some projects, because of the usage of existing products or for industrial purposes, existing products or services are imposed very early as design constraints in the stakeholder requirements or in the system requirements, without paying sufficient attention to the new context of use of the system that will include them. It is better to work in the right direction from the beginning. Design the system first, taking note of other requirements, and then see if any suitable commercial off-the-shelf (COTS) are available. Do not impose a system element from the beginning. The right re-use process consists of designing reusable system elements in every context of use.|
Some proven practices gathered from the references are provided in Table 4.
|Modularity||Restrict the number of interactions between the system elements and consider modularity principle (maximum of consistency inside the system element, minimum of physical interfaces with outside) as the right way for architecting systems.|
|Focus on interfaces||Focusing on interfaces rather than on system elements is another key element of a successful design for abstract levels of systems.|
|Emerging properties||Control the emergent properties of the interactions between the systems or system elements: obtain the required synergistic properties and control or avoid the undesirable behaviors (vibration, noise, instability, resonance, etc.).|
Checkland, P. B. 1999. Systems Thinking, Systems Practice. Chichester, UK: John Wiley & Sons Ltd.
DoD. 2010. DoD Architecture Framework, version 2.02. Arlington, VA: U.S. Department of Defense. Accessed August 29, 2012. Available at: http://dodcio.defense.gov/Portals/0/Documents/DODAF/DoDAF_v2-02_web.pdf.
Flood, R.L., and E.R. Carson. 1993. Dealing with complexity: An Introduction to the Theory and Application of Systems Science, 2nd ed. New York, NY, USA: Plenum Press
Hitchins, D. 2008. "Emergence, Hierarchy, Complexity, Architecture: How do they all fit together? A guide for seekers after enlightenment." Self-published white paper. Accessed 4 September 2012. Available at: http://www.hitchins.net/EmergenceEtc.pdf.
Holland, J.H. 1999. Emergence: from chaos to order. Reading, Mass: Perseus Books. ISBN 0-7382-0142-1.
Holland, J.H. 2006. "Studying Complex Adaptive Systems." Journal of Systems Science and Complexity 19 (1): 1-8. http://hdl.handle.net/2027.42/41486
ISO/IEC. 2007. Systems Engineering – Application and Management of The Systems Engineering Process. Geneva, Switzerland: International Organization for Standards (ISO)/International Electronical Commission (IEC), ISO/IEC 26702:2007.
OMG. 2010. OMG Systems Modeling Language specification, version 1.2, July 2010. http://www.omg.org/technology/documents/spec_catalog.htm.
The Open Group. 2011. TOGAF, version 9.1. Hogeweg, The Netherlands: Van Haren Publishing. Accessed August 29, 2012. Available at: https://www2.opengroup.org/ogsys/jsp/publications/PublicationDetails.jsp?catalogno=g116.
Thome, B. 1993. Systems Engineering, Principles & Practice of Computer-Based Systems Engineering. New York, NY, USA: Wiley.
Zachman, J. 2008. "John Zachman's Concise Definition of The Zachman Framework™ (online)". Zachman International Enterprise Architecture. Accessed August 29, 2012. Available at: http://www.zachman.com/about-the-zachman-framework.
ANSI/IEEE. 2000. Recommended practice for architectural description for software-intensive systems. New York, NY: American National Standards Institute (ANSI)/Institute of Electrical and Electronics Engineers (IEEE), ANSI/IEEE 1471-2000.
INCOSE. 2011. INCOSE Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities, version 3.2.1. San Diego, CA, USA: International Council on Systems Engineering (INCOSE), INCOSE-TP-2003-002-03.2.1.
ISO/IEC/IEEE. 2008. Systems and Software Engineering - System Life Cycle Processes. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electronical Commission (IEC), Institute of Electrical and Electronics Engineers. ISO/IEC/IEEE 15288:2008 (E).
ISO/IEC/IEEE. 2011. Systems and Software Engineering - Architecture Description. Geneva, Switzerland: International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC)/Institute of Electrical and Electronics Engineers (IEEE), ISO/IEC/IEEE 42010.
Maier, M., and E. Rechtin. 2009. The Art of Systems Architecting. 3rd ed. Boca Raton, FL, USA: CRC Press.
Faisandier, A. 2012. Systems Architecture and Design. Belberaud, France: Sinergy'Com
Thome, B. 1993. Systems Engineering, Principles & Practice of Computer-Based Systems Engineering. New York, NY, USA: Wiley.
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