Presentation on theme: "Why Use SysML? Eric A. Barnhart. Systems Engineering Systems Engineering is an interdisciplinary approach and means to enable the realization of successful."— Presentation transcript:
Why Use SysML? Eric 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!
Its 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…
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
Simplified Block Diagram AB Track TargetReport Position Order of operation? SimulationFederation Relationship? RT ClockExecutive Interface? What does a block diagram mean?????
A little better?
Try This Syntax A component Ports – controlled points of interface (with optional direction) A frame to group things An Interface entity - Required An Interface entity - Supplied
Even Better with Full Context
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 SysML is a suitable language, iff you model your system. If you dont, then it wont work. Models too! }
Is there a problem? Όλα είναι ελληνικά σε μένα Translations courtesy Haratini E. Andre You have to speak the modeling language, otherwise… (Its all Greek to me)
Prerequisites 1.You must be able to use the language 2.You must model your system as a standard practice 3.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 8 th By Sandy Friedenthal Lockheed Martin INCOSE Orlando Presents: SysML Tutorial, June 8 th By Sandy Friedenthal Lockheed Martin
Why model? Drawing Model depictioninformation System describes 1+ 1 By themselves, drawings can have dubious value Define Requirements Design SystemImplementIntegrate The models they depict have enormous value to the SE process Requirements Model
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 > 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) 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 RCVD OPTIONS 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 Failure Mode Standby Mode Ready Mode Fire Mode EXECUTION COMPLETED entry: emit 3 pulses entry: Assert Not Ready Sample State Diagram
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 SYSML DIAGRAMPURPOSEUML 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 Dont bother with SysML if.. –your process is centered on writing nothing but textual specifications –you dont model your systems –your management wont read SysML diagrams –your customer wont read SysML –all you want to do is say youre using it
Bringing SysML to Work Selling SysML to systems engineers Preaching to the Choir
Bringing SysML to S/W Engineers Selling points –Theyre 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 DONT ask for a $20K tool up front –Use SysML manually first, buy the tool later Some managers just dont 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 EEs generally wont care (neither will MEs)
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