Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | victoria-mason |
View: | 219 times |
Download: | 3 times |
Why Use SysML?Eric A. BarnhartEric A. Barnhart
Systems Engineering
Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem.
Communications!
Time Delay!
It’s all about the…
communication!
Communications and Learning
• Verbal-Linguistic– Sharing words, writings, documents– Why are we stuck here?
• Logical-Mathematical– Equations, drawings, MatLab models– Engineering discipline
• Visual-Spatial– Pictures, charts, drawings– Approximately 30% of people!
• Other methods too…
What is SysML?
• SysML is a graphical language
• SysML is a method for communications• SysML emphasizes the SE domain• SysML is NOT a specific tool or
methodology
Main Entry: lan·guage
Pronunciation: \ˈlaŋ-gwij, -wij\
Function: noun
1 … (2): a systematic means of communicating ideas or feelings by the use of conventionalized signs, sounds, gestures, or marks having understood meanings (3): … (4): … (5): a formal system of signs and symbols (as FORTRAN or a calculus in logic) including rules for the formation and transformation of admissible expressions
SysML Relationship To UML
UML 2.0
SysML
New Diagrams: Parametric Constraint, Requirement
Common Diagrams: Activity, Block Definition (UML2::Class), Internal Block (UML2::Composite Structure), Package, Sequence, State Machine, Use Case
For more info…www.sysml.org
SysML Trivia
• SysML is a UML profile– Inherits the mature UML notation– Inherits UML “bloat”– Compatible with UML
• SysML is SE domain specific, UML is general purpose
• SysML abandons some of the software-centric aspects of UML
Our typical form of communications
Nitrogen
Gas
Bottle
“The System”
The dreaded “block
diagram”
Simplified Block Diagram
A B
Track Target Report PositionOrder of
operation?
Simulation FederationRelationship?
RT Clock ExecutiveInterface?
What does a block diagram mean?????
A little better?
Assembly
Assembly “S”
ExIPI
Nitrogen
Gas
Bottle
Thingy
Nitro
Doodad Dadood
Pete’s Part
A, B, C, D
“The System”
M
Point
Alpha
Confabulator
Widget
Gizmo
F
Try This Syntax
A component
Ports – controlled points of interface(with optional direction)
Frame
A frame to group things
An Interface entity - Required
An Interface entity - Supplied
Better yet
“The System”
Assembly “S”
Nitrogen Gas
Bottle
Nitro
Point
Alpha
Widget
Confabulator
Gizmo
Thingy
Doodad
Dadood
Parametrics
P1
P2
P3
Nitrogen Gas
Bottle
Pete’s Part
M
SoftwareProgram 1
Software
Program 2ExIPI
Even Better with Full Context
LOS Stabilization
IR Sensor
Nitrogen Gas
Bottle
Nitrogen Bottle
2 Axis Gimbal
AngleTransducer
Power Amp
Reference Wheel
Torque Motors
FPGA
ADC
DAC
Parametrics
P1
P2
P3
Nitrogen Gas
Bottle
Mission Processor
IMU
SoftwareProgram 1
Software
OFPExternal IR
Photon Input
massmotion
coolant flow
physical
pitch
yaw
physical physical
pitch drive
yaw drive
zero point
Compare and Contrast
LOS Stabilization
IR Sensor
Nitrogen Gas
Bottle
Nitrogen Bottle
2 Axis Gimbal
AngleTransducer
Power Amp
Reference Wheel
Torque Motors
FPGA
ADC
DAC
Parametrics
P1
P2
P3
Nitrogen Gas
Bottle
Mission Processor
IMU
SoftwareProgram 1
Software
OFPExternal IR
Photon Input
massmotion
coolant flow
physical
pitch
yaw
physical physical
pitch drive
yaw drive
zero point
Assembly
Assembly “S”
ExIPI
Nitrogen
Gas
Bottle
Thingy
Nitro
Doodad Dadood
Pete’s Part
A, B, C, D
“The System”
M
Point
Alpha
Confabulator
Widget
Gizmo
F
Block diagram with random or inconsistent meaning to symbols
Component diagram with well-defined syntax and grammar
Communications
The engineer must use a consistent, well-defined, and well-understood language to communicate the requirements and design to other engineers, otherwise the product will founder, fail, or be a disaster.
For the systems engineer, that language is currently SysML.
Axiom
Ένα πρόβλημα με καλη σαφήνεια είναι
μισό λυμένω
Translations courtesy Haratini E. Andre
Communicating Well
• In order to communicate you must speak a common language
• You must share the problem definition– Across cultures– Across space– Across TIME
“A problem well-defined is half solved.” Lou Cohen
Matching the Language to the Problem• Verbal-linguistic methods for system definition
– Writing specs, ICDs, SRSs, etc.
• Logical-mathematical methods for system definition– Models, MatLab files
• Visual-spatial methods for system definition– Pictures– Drawings– Charts
SysML is a suitable language, iff you model your system. If you
don’t, then it won’t work.
SysML is a suitable language, iff you model your system. If you
don’t, then it won’t work.
Models too!}
Is there a problem?
Όλα είναι ελληνικά σε μένα
Translations courtesy Haratini E. Andre
You have to speak the modeling language, otherwise…
(It’s all Greek to me)
Prerequisites
1. You must be able to use the language2. You must model your system as a standard
practice3. “Speak” the language
• Learn UML, SysML• Practice, practice, practice
4. Your boss must recognize the language• Never leave your boss in the dark• Never make your boss look stupid
5. Your boss must understand WHY you speak the language
6. Your customers (internal and external) must understand the language and the models
INCOSE Orlando Presents:
SysML Tutorial, June 8th
By Sandy FriedenthalLockheed Martin
INCOSE Orlando Presents:
SysML Tutorial, June 8th
By Sandy FriedenthalLockheed Martin
Why model?
Drawing Modeldepiction information
System
describes
1+
1By themselves, drawings can have dubious value
DefineRequirements
Design System Implement Integrate
The models they depict have enormous value to the SE
process
RequirementsModel
Got Models? – Operational Concepts
• Do you do analyze operational concepts?
Copilot /Gunner
Track Target
Select Track Mode
Drive Turret Manually
Autotrack Image
Scan by Pattern<<extends>>
<<extends>>
<<extends>>
<<extends>>
Sample Use Case Diagram
Got Models? - Requirements
• Do you model requirements and their relationships?
Sample Requirements Diagram
Got Models? – Functional Decomposition• Do you do functional
decomposition? (DoDAF SV-4)
Select Track Source
Process Rate CommandsProcess Position Commands
Drive Gimbals
Stabilize LOS (Az/El)
Apply Drift Cooefficients andScale Factors
Report LOS Angular Data
Enable/Disable Deroll
Stabilize Image Roll Axis
Get Internal Tracker Inputs
Follow Internal Tracker Follow External Source
Includes a) Follow Weapon, b) Cue to Compass Relative Position,
c) Cue to Geolocation Position
Select Auto / ManualDrift Compensation
Calculate Drift Coefficientsand Scale Factors
Get IMU Rates
Servo Loops
Drift Compensation Calculation LOS Control
Sample Activity Diagram
Got Models? – States & Modes• Do you analyze states/modes?
(DoDAF SV10b)
POWER APPLIED [ powerIsStable]
SELF TEST FAILED / STORE FAILURE DATA
TEMP REACHES OPT / ASSERT READY
ENABLE CMD RCVDOPTIONS SET CMD( ) [ options enabled ] / SET OPTION
OFF COMMAND RCVD / STORE DATA
TEMP FAULT
EXECUTE COMMAND[ safety confirmed ]
DISABLE CMD RCVD
Off Mode
Warmup Mode
TEMP FAULT
OFF COMMAND RCVD / STORE DATA
OFF COMMAND RCVD / STORE DATA
OFF COMMAND RCVD / STORE DATA
Failure Mode
Standby Mode
Ready Mode
Fire Mode
EXECUTION COMPLETED
entry: emit 3 pulses
entry: Assert Not Ready
Sample State Diagram
Got Models? – Event Traces
• Do you trace events? (DoDAF SV-10c)
<<device>>ChangeDispenserCredit
<<device>>AlphaNumericDisplay
<<device>>ScrewActuatorChute
<<device>>Keypad
EnterLocation DisplayMessage( code )
BuyProduct( selection )
GetPrice( selection )
CompareToPrice
DisplayMessage( error )
-end-
DispenseProduct( selection )Turn
CalculateChange
DispenseAmount
resetAmount
<<device>>M.A.U
AcceptFunds
Sample Sequence Diagram
Got Models? - Deployment
• Do you deploy components onto processors?
Sample Deployment Diagram(borrowed from UML)
Got Models? - Parametrics
• Do you create parametric models?
filleted_tapered_i_section
flange_fillet_radius
area
flange_thickness
web_height
flange_taper_thickness
flange_taper_angle
flange_base_thickness
flange_width
web_thickness
total_height
flange_fillet_radius
area
flange_thickness
web_height
flange_taper_thickness
flange_taper_angle
flange_base_thickness
flange_width
web_thickness
total_height
tapered_i_section
flange_taper_thickness
flange_taper_angle
flange_base_thickness
flange_width
web_thickness
total_height
«paramConstraint»: relation13
«paramConstraint»: relation14
total_height
flange_width
flange_thickness
web_thickness
area
web_height
flange_taper_thickness
flange_taper_angle
flange_base_thickness
flange_width
web_thickness
total_height
«paramConstraint»: relation13
«paramConstraint»: relation14
total_height
flange_width
flange_thickness
web_thickness
area
web_height
basic_i_section
«paramConstraint»: relation13
area
flange_width
flange_thickness
web_thickness
web_height
total_height
«paramConstraint»: relation13
area
flange_width
flange_thickness
web_thickness
web_height
total_height
«paramConstraint»relation8
«paramConstraint»relation9
«paramConstraint»relation10
«paramConstraint»relation11
«paramConstraint»relation12
«paramConstraint»relation13
«paramConstraint»relation14
«paramConstraint»relation15
«paramConstraint»relation16
«paramConstraint»relation17
asm : Cross Section Assembly Diagram
Sample Parametrics Diagrams
SysML Drawing SummarySYSML DIAGRAM PURPOSE UML ANALOG
Activity diagram Show system behavior as control and data flows. Useful for functional analysis. Compare Extended Functional Flow Block diagrams (EFFBDs), already commonly used among systems engineers.
Activity diagram
Block Definition diagram
Show system structure as components along with their properties, operations and relationships. Useful for system analysis and design.
Class diagram
Internal Block diagram
Show the internal structures of components, including their parts and connectors. Useful for system analysis and design.
Composite Structure diagram
Package diagram Show how a model is organized into packages, views and viewpoints. Useful for model management.
Package diagram
Parametric diagram Show parametric constraints between structural elements. Useful for performance and quantitative analysis.
N/A
Requirement diagram
Show system requirements and their relationships with other elements. Useful for requirements engineering.
N/A
SysML Drawing Summary - cont.
Sequence diagram
Show system behavior as interactions between system components. Useful for system analysis and design.
Sequence diagram
State Machine diagram
Show system behavior as sequences of states that a component or interaction experience in response to events. Useful for system design and simulation/code generation.
State Machine diagram
Use Case diagram
Show system functional requirements as transactions that are meaningful to system users. Useful for specifying functional requirements. (Note potential overlap with Requirement diagrams.)
Use Case diagram
Allocation tables* *dynamically derived tables, not really a diagram type
Show various kinds of allocations (e.g., requirement allocation, functional allocation, structural allocation). Useful for facilitating automated verification and validation (V&V) and gap analysis.
N/A
UML 2.0 Component, Communications, Object, Deployment, Interaction and Timing diagrams have not been included in SysML
Leaving SysML at Home
• Don’t bother with SysML if..– your process is centered on writing
nothing but textual specifications– you don’t model your systems– your management won’t read SysML
diagrams– your customer won’t read SysML– all you want to do is say you’re using
it
Bringing SysML to Work
• Selling SysML to systems engineers
Preaching to the Choir
Bringing SysML to S/W Engineers
• Selling points– They’re probably already using UML– “now we can communicate better”
Bringing SysML to Management
• Selling Points– Better communications– Reduced errors– “Easy to learn”
• Break them in slowly– Interface to S/W– Improved integration– Solid, proven technology– Customers are asking for it– Competitors are using it
• DON’T ask for a $20K tool up front– Use SysML manually first, buy the tool later
• Some managers just don’t get it
• Chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
Bringing SysML to EEs
EE’s generally won’t care(neither will ME’s)
Getting Started – One Idea
• Use the language any way you can– Visio, PowerPoint, etc.
• Insinuate the language into existing work products– Drawings start appearing in specs– Control the document = control the drawing
inside it– Do the analysis as part of the effort to write
the CDRL
• Make the managers want it• Buy the tool after SysML is part of your
process
Why SysML?
• Standardized communications- across space- across time
• Improve life-cycle management• Capture the artifacts of systems
engineering
• Eliminate dreaded Block Diagrams