Using SysML for Operational Concepts

Practical SysML Applications: A
Method to Describe the
Problem Space
Ray Jorgensen
David Lempia
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Problem Space
Source Requirements
- Functional
- Business
Source Requirements
- Constraints
- Performance
Operational Concepts
- Operational Context
- Maintenance Context
- Delivery Context
- Testing Context
Context Diagram
- Operational
- Maintenance
- Delivery
- Testing
Black Box Views
What the system does
Abstraction Views
Stakeholder
Stakeholder Needs
Glossary of Terms
Physical Views
Performance &
Constraint Requirements
Functional Requirements
Logical Architecture
- Operational Context
- Maintenance Context
- Delivery Context
- Testing Context
Data Item
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
White Box Views
How the system does it
Behavior Views
Software Architecture
Data Stream
Electrical Architecture
Data Link
Mechanical Architecture
Mechanical Link
2
Originating Customer Requirements
•
Answer the questions:
– What is the problem?
– What are the users doing?
– What are the objects in the real
world?
•
Work from the user
requirements inward
•
Ends with requirements review
– Vocabulary consistent between
domain model, requirements,
and use cases
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
3
Glossary of terms
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Stakeholder needs
1) Identify stakeholders
3) Identify Stakeholder Needs
Receive mission updates
«express»
Commander
«express»
Send command to one or more
soldiers
«is-a»
Maintenance
«express»
Soldier
«is-a»
Send message without sound
«express»
Soldier
«express»
Receive messages without making
noise
Application Dev eloper
Commander
«express»
Update software on units in service
Maintenance
2) Describe stakeholders
Create new applications
Roles: Describe the role the stakeholder plays. There may be
more than one role each stakeholder operates in.
Authority: Describe the authority of the stakeholder in each of
their roles.
Knowledge: Describe the level of knowledge the stakeholder
has.
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
«express»
Application Dev eloper
«express»
SW development kit
4) Add need necessity & rational
5
Source Requirements
• Study in the application of SysML concepts to avionics
development and TCP workflow
– INU Update:
• 3.2.1.8 Weather Radar
• The existing weather radar system SHALL be integrated into the flight
deck and provide control for skin-paint, ground mapping, and INU
update functions to pilot, co-pilot, and navigator stations.
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Capture Architectural Context
• Show actors and association with system of interest
• Purely “black box” perspectives
bdd Operational Context
Operator
2
<<block>>
Cartographic
Reference
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
2
<<block>>
Nav Solution
Update System
<<block>>
Fixed Reference
Operational Concepts
• Start with functional
requirements and
stakeholder needs
• Create a satisfy trace to
each activity/action
generated from a functional
requirement as the diagram
is built
Create Use Case Diagram
Bring in actors, system,
and external systems from
originating requirements
package
Create use case. Fill in
notes and tags.
[Simple]
Fill in textual steps
[Complex]
Create activ ity diagram
below use case
Phase 1 - Add activ ities
the primary actor performs
• Re-use actors and external
systems from the
stakeholders and
architecture context
packages
– If you discover a new actor
or system, add it to the
stakeholder/architecture
context also
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Phase 2 - Add activ ities
the system and other
external systems perform
Phase 3 - Add data items
flow ing betw een
sw imlanes
Identify exceptions
(failure) and alternate
courses for each activ ity
8
Use Case Diagram
Actor
Use Case
Dependency (extend/include)
Stereotype
«Alternate_Course»
Cancel and resend
message
«extend»
«primary»
«Main_Course»
Send hand gesture
message
«extend»
«Exception»
Unrecognized gesture
Association
Soldier
(from Stakeholder Needs)
«System»
Architectural Context::
Gesture Radio
Composite
(Use Case Diagram)
(Activity Diagram)
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Block – My system or other systems
Conduct Use Case Analysis
• Identify prospective Use Case: “verb-noun” convention
• Primary actor identification
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Characterize Use Case
•
•
•
•
Purpose, Goal, or Objective
Trigger Stimulus
Preconditions
Post Conditions
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Build Activity Diagram (Scenario)
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Define Scenario
• Add activities of
primary actor
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Define Scenario
• Add Activities of
system of interest and
other supporting
actors
• Maintain purely “black
box” perspective
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Organize Model Elements
• Activity Diagrams (Scenarios)
under Use Case elements
• Make Use Case “composite” –
double click opens scenario
uc Update from WXR Source
<<block>>
Architectural
Context::Nav
Solution Update
System
<<block>>
Architectural
Context::Fixed
Reference
<<block>>
Architectural
Context::
Cartographic
Reference
AC: Update from WXR
Source
<<extend>>
EX: Unable to select
location ov er WXR
image
<<extend>>
Operator
(from Architectural Context)
<<extend>>
EX: No WXR Image
Av ailable
<<extend>>
AC: Enter manual
checkpoint
AC: Select
checkpoint from
listing (future)
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
EX: Incomplete update fix
reference
Add Exceptions
and Alternate
Courses
•
•
•
•
•
Examine each
“happy day” step
(activity)
What can go
wrong?
What else might
the actor do?
Does the step
itself require
further
elaboration
(extension)?
Simple
dependency
relationship from
activity to use
case
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Use Case
Extensions
• Add:
– Alternate
Courses
– Exceptions
Cases
– Extensions
• Maintain singular
focus
– One use case is
primary focus
of Use Case
Diagram
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
act Update from Ov erfly Reference
AC: Update from ov erfly reference
notes
Purpose:
To update a navigation solution with a reference point that the aircraft overflies.
Trigger Stimulus:
Pilot desires to update nav solution with a fix reference visual overflight.
Preconditions:
The navigation solution has reached a degraded state with no automatic updates from fixed reference
sources. Update page is already being displayed.
Post Conditions:
The degraded navigation solution is now providing present position estimates with the update correction.
Elaborate Each
Extension
• Activity diagram
(scenario) for
each AC or EX
• May be variant
of original use
case scenario
an :Operator
the :Nav Solution Update System
ActivityInitial
Select update source for
fixed reference
[Update Source Select = OVERFLY]
Display Ov erfly Update
A
EX: Select Valid
Nav igation Solution
(Not Degraded)
[Update Fix Reference =
Invalid]
Navigation Solution = Valid
EX: Enter Inv alid
Position
Pilot manually steers aircraft
toward reference fix. Select
Freeze only when aircraft
overflies the reference fix.
Enter reference fix
coordinates
Prov ide update fix
reference
Update Fix Reference =
Invalid
Freeze the nav igation
solution(s)
[Update Fix Reference = Valid]
Determine Estimated
Position
Navigation Solution =
Invalid
EX: Select Update
Source that is Inv alid
EX: Select Nav igation
Solution to Upgrade that is
Inv alid
AC: Freeze Update
Solution w ith Control
Wheel Selection
Calculate update v ector
Accept the update to the
degraded nav igation
solution
[Update Acceptance = Accept]
Apply update
Reset Bias
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
EX: Clear Update
Bias
act Update from WXR Source
AC: Update from WXR Source
notes
Purpose:
To update a navigation solution with a fix from a known reference using a weather range/ bearing to the fixed object..
Trigger Stimulus:
Pilot desires to update nav solution using a weather radar fix on the object..
Preconditions:
The navigation solution has reached a degraded state with no automatic updates from fixed reference sources. Update page is
already being displayed.
Post Conditions:
The degraded navigation solution is now providing present position estimates with the update correction.
an :Operator
the :Nav Solution Update System
ActivityInitial
EX: Enter Inv alid
Position
Select update source for
fixed reference
Display WXR Update
[Update Source = WXR]
Note: Since no entries
provided, yet, all
references shown
invalid.
AC: Enter manual
checkpoint
Select checkpoint
reference from
cartographic reference
AC: Select
checkpoint from
cartographic image
(future)
AC: Select
checkpoint from
listing (future)
Adj ust WXR image of the
selected target
Prov ide update fix
reference
EX: Incomplete update fix
reference
Prov ide image of WXR
target
EX: No WXR Image
Av ailable
[Update Fix Reference = Valid]
EX: Unable to select
location ov er WXR
image
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Select location of WXR
target image
Determine Estimated
Position
Navigation Solution = Invalid
Calculate update v ector
EX: Select Nav igation
Solution to Upgrade that is
Inv alid
Scenario Diagrams
• Generally, use Activity
Diagrams to express unique
scenarios
• However, if alternate course or
exception is “simple”, consider
“Notes” narrative
• Use Case Analysis generates
future opportunities – capture
them!
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
uc Update from WXR Source
Repeat Use
Case Process
• 1) Use Case
identification
• 2) Scenario
definition –
primary actor
• 3) Scenario
definition –
system of
interest,
seconday actors
• 4) Consider
alternate
courses/
exceptions/
extensions
<<block>>
Architectural
Context::Nav
Solution Update
System
<<block>>
Architectural
Context::Fixed
Reference
<<block>>
Architectural
Context::
Cartographic
Reference
AC: Update from WXR
Source
<<extend>>
Operator
(from Architectural Context)
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
<<extend>>
EX: Unable to select
location ov er WXR
image
<<extend>>
EX: No WXR Image
Av ailable
<<extend>>
AC: Enter manual
checkpoint
AC: Select
checkpoint from
listing (future)
AC: Select
checkpoint from
cartographic image
(future)
EX: Incomplete update fix
reference
Add Object Flows
• Add object flow for each
interaction
• Two activity diagrams:
– Sequence flow of scenario
– Object flow of scenario
• However:
– Consider transaction
“visibility” between actors
(swimlanes)
– Consider activity hierarchy
(functional decomposition)
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.
Further Consideration
• When to use Actions vs. Activities
• Object Flows vs. Object Nodes
• Extended scenarios – from “black box” problem space into
“white box” solution space
• Functional Allocation
– “Allocate” relationship vs. Tagged Value “Relationship”
– Inheritance through instantiation
• Interface Allocation
– Object Flow/ Data Item allocation to Software Data Stream
messages
– Object Flow allocation to Human Machine Interface
© Copyright 2010 Rockwell Collins, Inc.
All rights reserved.