Innoslate Webinar Functional Modeling and Simulation

© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Innoslate® Webinar
Functional Modeling and Simulation
October 24, 2013
For a complete white paper on this topic see
www.innoslate.com/help.
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Want to Follow Along?
• If you do not already have an Innoslate
account, create a free one at
innoslate.com.
– The Free Version allows up to 200 entities.
1
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
What is Functional Modeling and
are representations that can aid in
Simulation? “Models
defining, analyzing, and communicating a
set of concepts.” From SE Body of Knowledge (SEBoK)
• Functional modeling provides a means to
understand the key steps in user and
system processes
• Functional modeling usually consists of:
– Functional sequencing
– Data flow between functions
• A number of techniques (representations)
have been developed over the years
2
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Some Functional Modeling
Representations
• Data Flow
– IDEF 0
– N2
– Data Flow Diagram
• Combined
–
–
–
–
3
Behavior (RDD-100)
EFFBD (CORE)
Activity (SysML)
Action (Innoslate)
• Functional
Sequencing
– Function Flow Block
Diagram (FFBD)
– IDEF 3
– State Machine
– Sequence
Is it better to look at the data
and sequencing separately
or together?
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
State of Current “Languages”
• In the past decade, the Unified Modeling
Language (UML) and now the profile
Systems Modeling Language (SySML) have
dominated the discussion
• Why?
– Perception that software is “the problem”
– Hence need for an “object” approach
• SysML was designed to relate systems
thinking to software development, thus
improving communication between systems
engineers (SE) and software developers
4
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Why Objects Are Not the Answer
• Although SysML may improve the communication
of design between SEs and the software
developers it does not communicate well to
anyone else
– No other discipline in the lifecycle uses object
oriented design and analysis extensively
– Users in particular have little interest/acceptance of
this technique
– Software developers who have adopted Agile
programming techniques want functional
requirements (and resent SEs trying to write software)
– Many software languages are hybrid object and
functional
5
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Popular Software Languages
Position
Mar 2012
Position
Mar 2011
Programming
Language
Ratings
Mar 2012
Delta
Mar 2011
Functional/
Object/Hybrid
1
1
Java
17.110%
-2.60%
Object
2
2
C
17.087%
+1.82%
Functional
3
4
C#
8.244%
+1.03%
Hybrid
4
3
C++
8.047%
-0.71%
Hybrid
5
8
Objective-C
7.737%
+4.22%
Object
6
5
PHP
5.555%
-1.01%
Hybrid
7
7
(Visual) Basic
4.369%
-0.34%
Hybrid
8
10
JavaScript
3.386%
+1.52%
Functional
9
6
Python
3.291%
-2.45%
Hybrid
10
9
Perl
2.703%
+0.73%
Hybrid
From http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html accessed 4/6/2012
Trend to hybrid functional and object
6
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Innoslate Supports LML’s Simplified
Simplified schema reduces
Schema
start-up/training time
• Action
• Artifact
• Asset
Conduct logical
decomposition and
analysis
• Input/Output
• Location
Conduct physical
decomposition and
analysis
– Physical, Orbital, Virtual
• Risk
• Statement
– Resource
• Characteristic
– Measure
Capture verification
and validation data
• Connector
• Cost
Capture key
• Decision stakeholder
decisions
7
Designed with
space in mind
– Requirement
• Time
Capture
requirements with
quality measures
However, Language is not
enough, we also need a process
for doing functional analysis
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Functional Analysis and Allocation
Architecture
Knowledgebase
Develop/Revise Context
Diagram
Updated
Architecture
Knowledgebase
Develop Series of Scenarios for
Analysis
Create/Update System Behavior
Model
Analyze Behavior Model
Performance
Determine Options and Perform
Trade Studies
Behavior Model
• Control Flow
• Data Flow (Activity Model)
• Performance Criteria
Identify Risks and Plan
Mitigation
Review Model and Risks with
Customer
Allocate Actions to Assets and
Input/Outputs to Links
8
Detailed
Operational
Concept
Updated
Architecture
Knowledgebase
Operational
Requirements
Document (ORD)
See System Analysis and
Control for details
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Allocation
• A simple mapping of actions to assets
and inputs/outputs to connectors
• Determine best ways to “package”
functions into components
• Determine the connectors that carry the
“data”
• Minimize interface requirements (i.e.
data flows) between components
9
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Start a New Functional Model
• Select New
Entity: Action
• You will see a
Action entity
input form
• Fill-in name
number and
description to
start
10
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Get New Action Diagram
• Select
“Action
Diagram”
under the
diagrams
menu
• Result: new
canvas for
functional
model
creation
11
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Decomposing “Navigate Spacecraft”
• Select and
drag Action
onto line
between
Start and
End
• Note it
Turns
Green
• Then drop
on line
12
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Decomposing “Navigate
Spacecraft” (continued)
• Use the sidebar to
add the name,
number, description
and other attributes
• Now let’s finish this
initial
decomposition by
adding “Calculate
Correction” and
“Correct Position”
13
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Simulating “Navigate Spacecraft”
• Now just select
the Discrete
Event simulator
and click Start
• We see a timeline
of Actions
14
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Adding a Loop
• Now clearly we want to have these actions occur until
the course has been fully corrected, so we need to
create a feedback loop
• We do this by dragging a loop onto the line and then
moving the existing actions inside the loop
15
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Simulating “Navigate Spacecraft”
Again
• Select the
“Prompt
Decisions” option
and you will be
asked for how
many iterations of
the loop are
desired
• Type in the
number you want
and hit “Submit”
16
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Resulting Simulation
• We can see that the simulator has performed 5
iterations
• But how does this help us?
– Validates that model executes
– Allows us to begin deriving performance requirements
17
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Next Level Decomposition
• Now let’s
decompose
“Calculate
Correction”
assuming that
multiple (5)
computers will be
used as a necessary
redundancy
• We begin by adding
a SYNC action and 3
additional branches
18
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Finishing the Decomposition
• Now we fill in the
name of the Sync
action and add action
for each computer
• Although these are
essentially the same
action, we model
them separately so
their execution can
provide different
results
19
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Adding Input/Outputs
• Now let’s add
Input/Output
entities to
capture the
data flow
• Some will be
triggers and
others will be
“optional”
– Triggers must
arrive before
an action is
executed
20
Select green circle on I/O and drag to
action to create the relationship
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Finishing the Model
• Use entity
view for “Vote
on Results” to
change Delta
P’s to optional
• Add final
output I/Os
21
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Other Functional Views – IDEF 0
• Fully
interactive
• Handles
tunneling
and other
issues
• Built-in
rule
checker
22
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Other Functional Views – N2
• Fully
interactive
23
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Other Functional Views – Hierarchy
• Fully
interactive
24
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Simulation of the Total Model
Prompt Decisions:
5 iterations
25
Now let’s run the simulator again
and look at the results
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
But How Realistic Is This Model?
• All times are unrealistic
– Either fixed times or simplistic distributions
• Failure modes are not considered
• How do we make it more realistic?
– Adding additional branches and Actions
– Adding scripts to capture decision point logic
– Provide probability distributions for times
26
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Adding Failure Modes
• Adding
branches and
Actions to
represent offboard
activities
• Adding
scripts for
decision
points
27
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Example Scripts
• Sim Scripts
available in
Entity View
under
“More”
• Uses
JavaScript
28
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Adjusting the Time Probabilities
29
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Adding Probabilities in Decisions
• Add random
distributions
for
branching
probabilities
• Can adjust
to realistic
failure
probabilities
30
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Execute Model with Failure Mode
Now we can see the effect of the failure mode
31
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Executing with Monte Carlo
32
Executing 100 iterations of the model
begins to show the effect of the individual
distributions on the overall system
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Summary
• Functional Modeling provides a means to
capture processes and derive functional
requirements
• Simulation enables testing the logic to see
that it works
• Simulation can also be used to make the
models more realistic and begin to derive
performance requirements
33
© 2013 Systems and Proposal Engineering Company. All Rights Reserved
Thank you for attending!
• Follow us on Twitter @innoslate for more
updates on the next webinar and on
Innoslate
34