Requirements and Architectures for System-of-Systems Integration

advertisement
Requirements and Architectures for
System-of-Systems Integration
By
Ivo Krka
In Collaboration with Doug Bodner, Nenad Medvidovic, Barry Boehm, Jo Ann Lane,
Bill Rouse, George Edwards, Nupul Kukreja, and Daniel Popescu
Annual Research Review
Center for Systems and Software Engineering
University of Southern California
March 7, 2012
Problem Space
• Net-centric enterprises engage semi-autonomous business units,
each with its own set of requirements
• These units often need to collaborate using their IT systems,
involving integration or merging
―Temporary vs. permanent integration
―Horizontal vs. vertical integration
―Data vs. control integration
―Desired non-functional properties (e.g., scalability, reliability)
Desired Solution
• Decompose integration
requirements into architectures
Candidate
Netcentric SoS
Requirements
Refinement
Decision Drivers:
Candidate
Netcentric SoS
Architecture
• Type
• Orientation
• Information access
• Platforms and technology
Key Decisions:
• Integration style
• Buy/reuse/build
• Adaptation and
extension mechanisms
• Provide support for traceability
• Provide support for multiple
stakeholders involved in net-centric
integration
Jail Information Management System
• Provides data consistency and
availability at seven San Diego
County detention centers
• Interoperates with multiple external
systems (Regional Area Crisis
Response SoS)
• Security, privacy, performance,
reliability & availability
requirements
• Reasons for selection
―Availability of requirements and data
―Diverse issues and challenges
(multiple systems, COTS, vertical and
horizontal, transient and permanent
integration, etc.)
Vista Detention
Facility Node
Booking Jail Site
Configuration
San Diego
Central Jail Node
Data Services Division
(DSD) Node
DSD Site
Configuration
Booking Jail Site
Configuration
EXTERNAL
CONNECTION
Non-Booking Jail
Site Configuration
Descanso Detention
Facility Node
Non-Booking Jail
Site Configuration
South Bay Detention
Facility Node
All internodal interfaces
except the external
connection are identical…
Booking Jail Site
Configuration
George Bailey Detention
Facility Node
Booking Jail Site
Configuration
Las Colinas Detention
Facility Node
Figure 6. JIMS Top Level System View (SV-1) – Internodal Node Interfaces.
Requirements to Architectures
• iCBSP
―Proposed method for refining
integration requirements into an
integration architecture
• Process of use
―Pre-step: filter requirements for
integration
―Augmented version of CBSP method
―Step 1: stakeholders rate importance
and feasibility
―Strong traceability from architecture
to requirements
―Step 2: architects rate architectural
relevance
―Step 3: architects negotiate and
reconcile disagreements
―Step 4: requirements rephrased and
traced to proto-architecture
―Step 5: integration architectural
solution selected and applied to
proto-architecture
Experience With iCBSP
• Effective requirements filtering
• Identified integration architecture elements
―16 processing component elements
―16 bus elements
―11 data component elements
• Traceability from NL requirements to architectural elements
―Over 100 traces in the final model
Deriving Architectures from Requirements
using Social Networking
• iCBSP Characteristics
• Winbook
―Human intensive with both nontechnical and technical stakeholder
involvement
―Social networking tool originally
targeted for WinWin requirements
negotiation
―Requirements filtered in each step
and finally rewritten to be made
more precise
―Easy to use by different stakeholders
―The stakeholders negotiate and
reconcile their views of the
importance/feasibility/architectural
relevance of the individual
requirements
―Supports color-coding, tagging,
highlighting, commenting, etc.
―Filtering requirements based on
various criteria
iCBSP in Winbook
iCBSP in Winbook
Classifying and Selecting Integration
Solutions With Integration Matrices
• A simple and straightforward knowledge capture method
• Alternative or recurring design decisions across the columns
―Patterns, styles, data management solutions, COTS product combinations
• Desired system properties along the rows
―Quality goals and NFPs, desired capabilities and features
• Cells capture compatibilities, conflicts, or other relationships
―A concise symbol (+/-) or rank (1-10) with a link to a textual explanation
• Using an integration matrix
―Quickly “drill down” on a small set of potentially beneficial design options
―Identify potential issues and alternative solutions early in the process
Integration Styles and Properties
• Style guides the composition
of elements into an
architecture
• Integration Style =
o Connector Roles + Topology + Linkage
Mechanisms
―Connectors
o Adaptor, arbitrator, distributor, etc.
• Multiple styles may be used in
a system or SoS
―Topologies
o Point-to-point, hub and spoke, shared
bus, etc.
―Linkage
• Different styles result in
different system qualities
o Shared data, messaging, screenscraping, etc.
―Examples:
o SOA = distributor, shared bus,
messaging
o Federated DB = arbitrator, hub and
spoke, shared data
Integration Matrix
System
Interaction
Integration
styles vs.
Properties
Distributed
Local
Secure
Data intensive
Data formats
incompatible
Data consistency
Interaction
protocols
incompatible
Reliable
Real time
One-to-many
Many-to-one
Always available
Periodically
scheduled
Loose coupling
Robustness
Dynamically
reconfigurable
Scalable
Caching
Distributed
transactions
Topology
Point-toPoint
Linkage
Hub and
Spoke
Shared
Bus
Peer-toPeer
Shared
Data
Connector
Messaging Explicit
Data
invocation Streaming
Adapter
Translator
Arbitrator
Distributor
o
o
+
+
o
+
+
+
+
o
o
+
+/+
-
o
+
+
-
+
o
o
+
+
+
o
o
o
+
+
o
+
o
o
o
o
o
o
o
o
o
+
+
o
+
+
o
+
+
o
o
o
+
+
o
o
-
+
+
o
o
o
-
o
o
+
o
o
+
o
o
o
+
+
+
+
+
+
o
+
+/+
o
o
o
+
+
+/+
-
+
+/o
o
+
+
+
+
o
+
+
o
o
o
+
+
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
+
+
+
+
+
+
o
o
+
+
o
o
-
+
o
+
+
+
+/+
+
o
+
+
+
+/+
+
+
o
-
+
+
+
+
+
+
o
+/-
+
+
+
o
+
o
+
+
+
+
Obvious
Hub becomes a
advantages
Shared and
data
bottleneck
disadvantages
repositories are
+
+
-difficult
o to scale
o
o
+
+
+
+
+
o
o
o
o
o
o
o
+
+
+
Integration Matrix Application
Integration
styles vs.
Properties
Topology
Point-toPoint
Linkage
Hub and
Spoke
Shared Bus Peer-toPeer
Shared
Data
Connector
Messaging
Explicit
invocation
Data
Streaming
Adapter
Translator
Arbitrator
Distributor
Distributed
o
+
+
+
o
+
+
+
o
o
+
+
Secure
+
-
o
+/-
-
o
o
o
o
o
+
-
Data intensive
+
-
-
+
-
-
o
+
o
-
+
+
Data consistency
o
+
o
-
+
o
o
-
o
o
+
o
Reliable
+
-
+
+
-
+
+
o
o
o
+
o
Real time
+
-
+/-
-
+
-
+
+
o
o
+
o
Robustness
-
-
+
+
-
+
+/-
-
o
o
+
+
Distributed
transactions
-
+
+
+/-
+
+
+
o
o
o
+
+
Positive (+)
4
3
4
4
3
4
4
3
0
0
8
4
Neutral (o)
2
0
2
0
1
2
3
3
8
7
0
3
Negative (-)
2
5
1
2
4
2
0
2
0
1
0
1
Positive /
Negative (+/-)
0
0
1
2
0
0
1
0
0
0
0
0
IntegrationSummary of
specific properties
outcomes
of interest
Decision Support Example
Integration
styles vs.
Properties
Topology
Point-toPoint
Linkage
Hub and
Spoke
Shared Bus Peer-toPeer
Shared
Data
Connector
Messaging
Explicit
invocation
Data
Streaming
Adapter
Translator
Arbitrator
Distributor
Distributed
o
+
+
+
o
+
+
+
o
o
+
+
Secure
+
-
o
+/-
-
o
o
o
o
o
+
-
Data intensive
+
-
-
+
-
-
o
+
o
-
+
+
Data consistency
o
+
o
-
+
o
o
-
o
o
+
o
Reliable
+
-
+
+
-
+
+
o
o
o
+
o
Real time
+
-
+/-
-
+
-
+
+
o
o
+
o
Robustness
-
-
+
+
-
+
+/-
-
o
o
+
+
Distributed
transactions
-
+
+
+/-
+
+
+
o
o
o
+
+
Positive (+)
4
3
4
4
3
4
4
3
0
0
8
4
Neutral (o)
2
0
2
0
1
2
3
3
8
7
0
3
Negative (-)
2
5
1
2
4
2
0
2
0
1
0
1
Positive /
Negative (+/-)
0
0
1
2
0
0
1
0
0
0
0
0
Adapters and translators are
not needed as the interfaces
are homogenous
Decision Support Example
Integration
styles vs.
Properties
Topology
Point-toPoint
Linkage
Hub and
Spoke
Shared Bus Peer-toPeer
Shared
Data
Connector
Messaging
Explicit
invocation
Data
Streaming
Adapter
Translator
Arbitrator
Distributor
Distributed
o
+
+
+
o
+
+
+
o
o
+
+
Secure
+
-
o
+/-
-
o
o
o
o
o
+
-
Data intensive
+
-
-
+
-
-
o
+
o
-
+
+
Data consistency
o
+
o
-
+
o
o
-
o
o
+
o
Reliable
+
-
+
+
-
+
+
o
o
o
+
o
Real time
+
-
+/-
-
+
-
+
+
o
o
+
o
Robustness
-
-
+
+
-
+
+/-
-
o
o
+
+
Distributed
transactions
-
+
+
+/-
+
+
+
o
o
o
+
+
Positive (+)
4
3
4
4
3
4
4
3
0
0
8
4
Neutral (o)
2
0
2
0
1
2
3
3
8
7
0
3
Negative (-)
2
5
1
2
4
2
0
2
0
1
0
1
Positive /
Negative (+/-)
0
0
1
2
0
0
Combination
Peer-to-peer
peer-to0
0of ahas
0
peerpronounced
solution and
data
a shared
bus
consistency
solution can
problems
circumvent
relevant for
such
the issues
given system
0
0
1
Proof-of-Concept Wiki Implementation
• Knowledge capture
and management
via wiki format
(e.g., rationales)
• Platform for
feedback on
usefulness of
proof-of-concept
tool, plus relevance
of row and column
headings
Future Work
• Winbook-based multi-stakeholder requirements negotiation
• Devise configurability of integration matrix
• Further methodology enhancements
―Buy/reuse/build
―Incorporate technical restrictions and limitations when identifying
architectural solutions
―Detection of possible mismatches with proposed guidelines for specific
adapters/translators
―Solution ranking based on prioritization of the desired properties
Download