Académique Documents
Professionnel Documents
Culture Documents
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
System Architecture
the organization of a system including its major components,
the relationships between them, how they collaborate to meet
system requirements, and principles guiding their design and
evolution
System Architecture
all of the most important, pervasive, top-level, strategic
decisions, inventions, engineering tradeoffs, assumptions,
and their associated rationales concerning how the system
will meet its derived and allocated requirements
Includes:
• All major logical and physical and static and dynamic structures
• Other architectural decisions, inventions, tradeoffs, assumptions, and rationales:
— Approach to meet quality requirements
— Approach to meet data and interface requirements
— Architectural styles, patterns, mechanisms
— Approach to reuse (build/buy decisions)
• Strategic and pervasive design-level decisions
• Strategic and pervasive implementation-level decisions
Architecture Design
Pervasive (Multiple Components) Local (Single Components)
Strategic Decisions and Inventions Tactical Decisions and Inventions
Higher-Levels of System Lower-Levels of System
Huge Impact on Quality, Cost, & Schedule Small Impact on Quality, Cost, & Schedule
Drives Design and Integration Testing Drives Implementation and Unit Testing
Driven by Requirements and Higher-Level Driven by Requirements, Architecture, and
Architecture Higher-Level Design
Mirrors Top-Level Development Team No Impact on
Organization (Conway‟s Law) Top-Level Development Team Organization
Joe Elm, Dennis R. Goldenson, Khaled El Emam, Nicole Donatelli, and Angelica Neisa, A
Survey of Systems Engineering Effectiveness – Initial Results, CMU/SEI-2007-SR-014,
Software Engineering Institute, November 2007, p. 222.
Autonomy
Completely Autonomous Highly Interdependent
Complexity
Trivially Simple Ultra-Complex
Criticality
Non-Critical Business-, Mission- and/or Safety-Critical
System Characteristics
Drivers
Requirements Subsystem Availability
Emergence
Easily Predicted & Beneficial Largely Unexpected & Detrimental
Evolution
Highly Static Constantly Evolving
Intelligence
Simply Reactive Highly Intelligent and Self-Regulating
Size
Trivially Small Ultra-Large
Technologies
Homogeneous, Mature, and Stable Diverse, Immature, and Volatile
Variability
Single Variant or Configuration Multiple Variants or Configurations
Coupling
Subsystem Characteristics
Governance
Centrally Governed Independently Governed
Homogeneity
Completely Homogeneous Highly Heterogeneous
Reuse
100% New (Requirements Driven) 100% Pre-Existing (Availability Driven)
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
Actual
Program-Specific Architecture
Architecture Architect Architect Architecture
Processes Team 1 John Mary
Architecture Plan
Task 1
(As Performed) Execution
Architecture Architecture
Architecture Model Document
Task 2
Execution
Architecture Engineering
Methods (As Intended)
Specific
Architecture
Engineering Architecture Architect Architect Architecture
Architecture Architecture
Processes Team 1 John Mary
Task 1
Plan
(As Performed) Execution
Architecture Architecture
Architecture Model Document
Task 2
Execution
Architecture
Engineering Method MFESA
Framework
Architecture Engineering
Methods (As Intended)
Specific
Architecture
Engineering Architecture Architect Architect Architecture
Architecture Architecture
Processes Team 1 John Mary
Task 1
Plan
(As Performed) Execution
Architecture Architecture
Architecture Model Document
Task 2
Execution
ANSI/EIA 632-2003
ANSI/IEEE 1471-2000
Department of Defense
Architecture Framework
(DODAF)
INCOSE SE Handbook
ISO/IEC 15288-2002
Naval Systems
Engineering Guide
MFESA
SEI Attribute-Driven
Design (ADD)
SEI Evolutionary
Process for Integrating
COTS-based Systems
(EPIC)
Method Engineering
MFESA Framework
Method Engineering
MFESA Framework
Third Generation
Approaches Needed
Maximum
Second Generation
Size and
Method Frameworks and
Complexity of
Project-Specific Methods
the System
and its
Architecture First Generation
General Purpose
Individual Standards
and Methods
Date in Years Today
Motivation
MFESA Overview
MFESA Metamethod
Conclusion
System
a cohesive integrated set of system components (i.e., an aggregation
structure) that collaborate to provide the behavior and characteristics
needed to meet valid stakeholder needs and desires
Important Ideas:
• Modeled as hierarchical aggregate structure
Subsystems
Consumable materials (e.g., ammunition, fuel, lubricants, reagents, and solvents)
Data
Documentation (both separate physical and built-in electronic documentation)
Equipment (e.g., maintenance, support, and training equipment)
Facilities (e.g., maintenance, manufacturing, operations, support, training, and disposal
facilities including their component property, buildings, and their furnishings)
Hardware
Manual procedures
Networks (for the flow of data, power, and material)
Organizations
Personnel
Physical interfaces
Software
Tools
Multiple Components
Multiple Interactions between Components
Multiple Structures (Logical and Physical, Static and Dynamic)
Multiple:
• Views and Viewpoints
• Models
• Focus Areas
Architect(s)
System of
Subsystem Systems Architectural
Decisions
Architectural
engineer the Inventions
System drive
Architectural
1 abstracts the System Tradeoffs
1 Architecture
Architectural
Assumptions
Associated
Rationales
Architectural
Architectural
Patterns
Decisions System
<<use of>>
Architecture
incorporate 1
most consists 1
Architectural primarily
Mechanisms of the are
<<use of>> abstractions 1
1..* of the
System
Architectural 1..* 1
Structures
Architectural
Architecturally
Drivers
Significant
Process
drive the
Requirements
engineering of the
abstracts
1 the 1 System
System
Architecture
1 1
Static drive and
Structures are abstractions
constrain drive the
of the
Dynamic engineering
1..* of the
Structures 1..*
Architectural
Structures
Logical 1..*
Structures
Architectural
Components
defines the
meaning of the
quality of a Quality
System
Model
Internal External
Quality Quality
Characteristics Characteristics
Quality Characteristic
Internal External
Quality Characteristic Quality Characteristic
Portability
Affordability Schedule Current Future Extensibility Maintainability
Feasibility Reusability Reusability
Adaptive Perfective
Maintainability Maintainability
Corrective Preventative
Maintainability Maintainability
Quality Characteristic
Internal External
Quality Characteristic Quality Characteristic
Stability
Safety Security Survivability
Performance Performance
Type Fault / Failure
measures
Performance
Performance quality along a
Attribute
is
measured
along a Quality Quality
Quality Quality
Measurement Measurement
Characteristic Attribute
Scale Method
Safety measures
quality along a
Defensibility Defensibility Attribute
Security
is measured
Quality Quality
Quality Quality along a
Measurement Measurement
Characteristic Attribute
Scale Method
defines the
meaning of the
Quality quality of a
Model System
is applicable shall
during Quality exceed Quality
Condition
Criterion Threshold
is is
determines
measured measured
existence of
along a using a
Architectural Representation
a cohesive collection of information that documents a system
architecture
Not the same thing as the architecture
document the
model the
Architectural behavior of
Architectural Representations parts of the
View Type
instance of
Executable
Architectural Architectural Architectural
Views Descriptions Representations
Architecture Architectural
Architectural Documents Simulations
Whitepapers
Architectural Executable
Architectural Architecture
Quality Cases
Training Materials
Architectural
Analysis Reports
document
architectural
Architectural Quality 0..1 support for 1 Quality
Representations Focus Areas Characteristics
document
architectural
Architectural Architectural 1 support for 1 Architectural
Descriptions Focus Areas Concerns
include relevant
parts of document relevant
parts of the
1..* 1..*
1 1..* Architectural System
Architectural Views
Models Architecture
1 1..* 1
specifies model
consists
1
primarily of
Architectural document 1 Architectural 1..*
Viewpoint individual Structures
Logical Physical
Functional Decomposition
Decomposition View
View
Collaboration Information
View View
Services
View
The Method Framework for Engineering System Architectures (MFESA) 59
© 2009 Donald Firesmith
Donald G. Firesmith
Quality Cases
Work Product
is developed for
Quality Quality
Characteristic Attribute
Architectural Evidence:
Official Architectural Representations (e.g., Architectural
Diagrams, Models, Documents) and Witnessed Demonstrations
is developed for
Quality Quality
Characteristic Attribute
justifies
belief in
Meets Quality
Requirements
Claim: Physical Claim: Energy Claim: Protocol Claim: Syntax Claim: Semantics
Interoperability Interoperability Interoperability Interoperability Interoperability
justifies
belief in
supports
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamethod
Conclusion
specifies Metamethod
Process Metamodel
Components
models specialization
(inheritance)
models Instantiation
(instance of)
Process
As-Performed Process
Components
Architectural
Workers
perform
produce
stores the
use produce
create and update
Architecture
Architecture Tools
Architectural
Engineering
Work Products
Techniques
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Metamethod
Conclusion
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
T10: Ensure
Architectural Integrity
The Method Framework for Engineering System Architectures (MFESA) 75
© 2009 Donald Firesmith
Donald G. Firesmith
Effort by MFESA Task
Phase (time )
Initial Full Scale
Tasks Initiation Construction Usage Retirement
Production Production
Plan and Resource
1 the Architecture
Engineering Effort
Identify the
2
Architectural Drivers
Analyze the
6 Reusable Components
and their Sources
Select or Create the
7 Most Suitable
Architectural Vision
Ensure
10
Architectural Integrity
PLAN
T1: Plan and Resource the Architecture Engineering Effort
PREPARE
T2: Identify the Architectural Drivers
T3: Create the First Versions of most
Important Architectural Models
T4: Identify Opportunities for the Reuse of
Architectural Elements
CHECK ACT
T9: Evaluate and Approve the Architecture T5: Create Candidate Architectural Visions
T10: Ensure Architectural Integrity T6: Analyze Reusable Components and
their Sources
T7: Select or Create the Most Suitable
Architectural Vision
T8: Complete and Maintain the Architecture
potentially
draft reusable
architectural architectural
models elements
Task
T5: Create Initial
Architecture Models
WP
WP
WP
Model 1 Model 2 Model N
Task
T6: Create Candidate
Architectural Visions
WP
WP
WP
Vision 1 Vision 2 Vision N
Task
Selected
WP
Vision 1a
Task
Selected
WP
Vision 1n
System Vision
Statement
2 Identify and Label the
Architecturally Significant Requirements Architectural
ConOps Concerns
Tasks
3 Verify the Potentially 3 - 10
Relevant Requirements Requirements
ORD
Metadata
Requirements
Engineering
Requirements 4 Collaborate with RE to
Repository Fix Requirements Defects
Requirements
Specification 5 Identify the
Architectural Concerns
Requirements
Eval. Results
6 Evaluate and Iterate the
Architectural Concerns
Security Policy
Objectives:
• Capture the most important candidate elements of the eventual system
architecture (i.e., architectural decisions, inventions, trade-offs,
assumptions, and rationales).
• Provide the most important views and focus areas of the system
architecture.
• Ensure that these candidate architectural elements sufficiently support the
relevant architectural concerns.
• Provide a foundation of architectural models from which to create a set of
competing candidate architectural visions.
7 Identify 8 Perform
Potentially Trade-off
Relevant Analysis
Technologies
Potentially
Architectural Reusable Architectural
Patterns and Styles Architectures Concerns
Architectural act as a
Sieve act as a
Risks
Candidate Reusable
Architectural Elements
Candidate Candidate
Architectural Architectural Architectural
Visions Models Components
Component 1 X X X X
Candidate Architectural Vision Components
Component 2 X X X
Component 3 X X
Component 4 X X X
Component 5 X X X
Component 6 X X X
Component 7 X X X
Component 8 X X X X
Component 9 X X
Component 10 X X X
Component 11 X
Component 12 X X
Component 13 X X
Integrity (Message) 0 0 0
Integrity (Software) + + + + + 0 0 0 0 + ++ + 0
Integrity (Data) + + + + + 0 0 0 + + ++ + 0
Nonrepudiation 0 0 0 0 0 0 0 0 + + + ++ 0
Availability - - 0 0 0 0 0 0 - + + 0 0
Cost ++ - -- 0 0 -- -- -- 0 - + - -
Performance - - 0 0 0 + - - -- - - - +
Usability - - 0 0 0 0 0 0 0 0 0 - ++
Steps:
Inputs: Outputs:
1. Determine the selection criticality.
- Architectural concerns 2. Determine the required - Architectural
- Candidate architectural selection resources. concern versus
vision components 3. Determine the evaluation approach. candidate
- Architectural concern 4. Evaluate the competing architectural
versus vision candidate architectural visions. vision matrix
component matrix 5. Select the most suitable - Architectural vision
- Competing architectural architectural vision. selection reports
visions list 6. Optionally create the new most - Architectural vision
- Draft architectural suitable architectural vision. document
vision documents 7. Approve the architectural vision. - New and updated
- Known architectural 8. Identify any new architectural risks architectural risks
risks and opportunities and opportunities and opportunities
Availability + + ++ +
Development Cost 0 ++ -- 0
+ ++ -- -
Architectural Concerns
Development Schedule
Interoperability + - + +
Performance + -- + ++
Portability 0 + 0 +
Reliability + - ++ -
Safety - - ++ 0
Security - ++ - 0
Usability - 0 - +
The Method Framework for Engineering System Architectures (MFESA) 117
© 2009 Donald Firesmith
Donald G. Firesmith
MFESA Task 7) Select or Create the
Most Suitable Architectural Vision
Guidelines
• Ensure a commensurate approach.
• Ensure a consistent evaluation approach.
• Ensure complete evaluation criteria.
• Avoid unwarranted assumptions.
• Use common sense when using decision methods to select the
most suitable candidate architectural vision.
• Take reuse into account.
• Test reusable architectural component suitability.
• Maintain the architectural vision.
• Formally manage architectural risks.
Assessment
Scope
Tier 4 Segment 1 Segment 2 Segment 3 ... Segment N
Assessment
Scope
Tier 7 Subassembly 1 Subassembly 2 Subassembly 3 ... Subassembly N
Steps:
Inputs: Outputs:
1. Maintain the architecture and its
- System architecture - Relevant change requests
representations.
- System architectural - Relevant discrepancy
2. Determine architectural invariants.
representations reports
3. Identify changes that threaten
- System change - Relevant change control
architectural integrity.
requests ... analysis reports
4. Enforce integrity given changes.
- Updated work - Updated work products
5. Identify any new architectural
products … - New and updated
risks and opportunities.
- Known architectural architectural risks and
risks and opportunities opportunities
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
Architecture
Teams
membership
Architecture
Architects
Workers
use
Tools
System Architect
the highly specialized role played by a systems engineer when
performing system architecture engineering tasks to produce system
architecture engineering work products
Chief/Lead
System Subsystem
Architect Architect
Engineer
System of
Subsystem Hardware Customer Subcontractor
Systems
Architecture Architecture Architecture Architecture
Architecture
Teams Teams Teams Teams
Team
scope organization
Product Formal
Architecture Architecture
Teams Teams
System Architecture
Teams
Reference Ad hoc
Architecture Architecture
Teams Teams
membership
Subject
Designer Matter
Systems Software Hardware Quality Expert
Engineer Engineer Engineer Engineer
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
Number of
Methods
Determination
for each
method
Method
Method
Component
Reuse Type
Selection
Determination
Method
Selection
Method
Method Method
Component
Reuse Construction
Tailoring
Method
Tailoring
Method
Documentation Method
Component
Integration
Method
Verification
Method
Publication
Motivation
MFESA Overview
MFESA Ontology of Concepts and Terminology
MFESA Metamodel of Reusable Method Components
MFESA Repository of Reusable Method Components
• Architectural Work Units and Work Products
• Architectural Workers
MFESA Metamethod
Conclusion
20 November 2008
ISBN-10: 1420085751
ISBN-13: 978-1420085754
http://www.crcpress.com/product/isbn/9781420085754
The Method Framework for Engineering System Architectures (MFESA) 152
© 2009 Donald Firesmith
Donald G. Firesmith
Informational Websites
(Today and Tomorrow)
MFESA has been incorporated into the OPEN Process Framework
Repository Organization (www.opfro.org), the world‟s largest repository of
free, open-source method components.
We also hope to eventually port MFESA to the Eclipse Process
Framework (EPF).