370 likes | 392 Views
Why Use SysML?. Eric A. Barnhart. Communications!. Time Delay!. Systems Engineering.
E N D
Why Use SysML? Eric A. Barnhart
Communications! Time Delay! 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.
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 For more info… www.sysml.org SysML UML 2.0 Common Diagrams: Activity, Block Definition (UML2::Class), Internal Block (UML2::Composite Structure), Package, Sequence, State Machine, Use Case New Diagrams: Parametric Constraint, Requirement
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 The dreaded “block diagram”
Order of operation? Track Target Report Position Simulation Federation Relationship? RT Clock Executive Interface? Simplified Block Diagram A B What does a block diagram mean?????
Try This Syntax A component A frame to group things Ports – controlled points of interface (with optional direction) An Interface entity - Required An Interface entity - Supplied
Compare and Contrast 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 } Models too! SysML is a suitable language, iff you model your system. If you don’t, then it won’t work.
Is there a problem? Όλαείναιελληνικάσεμένα You have to speak the modeling language, otherwise… (It’s all Greek to me) Translations courtesy Haratini E. Andre
Prerequisites • You must be able to use the language • You must model your system as a standard practice • “Speak” the language • Learn UML, SysML • Practice, practice, practice • Your boss must recognize the language • Never leave your boss in the dark • Never make your boss look stupid • Your boss must understand WHY you speak the language • Your customers (internal and external) must understand the language and the models INCOSE Orlando Presents: SysML Tutorial, June 8th By Sandy Friedenthal Lockheed Martin
System 1 describes 1+ depiction information Model The models they depict have enormous value to the SE process Define Requirements Design System Implement Integrate Requirements Model Why model? By themselves, drawings can have dubious value Drawing
Got Models? – Operational Concepts • Do you do analyze operational concepts? Sample Use Case Diagram Copilot / Gunner Track Target <<extends>> Scan by Pattern <<extends>> <<extends>> <<extends>> Autotrack Image Select Track Mode Drive Turret Manually
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) Sample Activity Diagram
Off Mode OFF COMMAND RCVD / STORE DATA POWER APPLIED [ powerIsStable] OFF COMMAND RCVD / STORE DATA Warmup Mode entry: Assert Not Ready Failure Mode SELF TEST FAILED / STORE FAILURE DATA TEMP REACHES OPT / ASSERT READY OFF COMMAND RCVD / STORE DATA Standby Mode TEMP FAULT OPTIONS SET CMD( ) [ options enabled ] / SET OPTION ENABLE CMD RCVD DISABLE CMD RCVD TEMP FAULT OFF COMMAND RCVD / STORE DATA Ready Mode EXECUTE COMMAND[ safety confirmed ] EXECUTION COMPLETED Fire Mode entry: emit 3 pulses Got Models? – States & Modes • Do you analyze states/modes? (DoDAF SV10b) Sample State Diagram
Got Models? – Event Traces • Do you trace events? (DoDAF SV-10c) Sample Sequence Diagram <<device>> Keypad <<device>> AlphaNumericDisplay <<device>> ScrewActuator <<device>> ChangeDispenser <<device>> M.A.U Credit Chute EnterLocation DisplayMessage( code ) BuyProduct( selection ) GetPrice( selection ) CompareToPrice DisplayMessage( error ) -end- DispenseProduct( selection ) Turn AcceptFunds CalculateChange DispenseAmount resetAmount
Got Models? - Deployment • Do you deploy components onto processors? Sample Deployment Diagram (borrowed from UML)
Got Models? - Parametrics • Do you create parametric models? Sample Parametrics Diagrams
SysML Drawing Summary - cont. 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
Bringing SysML to EEs • 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 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