Why Use SysML? by K8R0b2R9


									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.

                        Time Delay!
It’s all about the…

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
 Main Entry:
     \ˈlaŋ-gwij, -wij\
 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 is a method for communications
• SysML emphasizes the SE domain
• SysML is NOT a specific tool or methodology
SysML Relationship To UML

                                                                        For more info…


             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”
 Simplified Block Diagram

                     A               B

    Order of
  operation?    Track Target   Report Position

Relationship?   Simulation       Federation

   Interface?    RT Clock        Executive

         What does a block diagram mean?????
A little better?
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
Better yet
Even Better with Full Context
Compare and Contrast

Block diagram with random or      Component diagram with well-
inconsistent meaning to symbols   defined syntax and grammar

 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.

     Ένα πρόβλημα με
    καλη σαφήνεια είναι
       μισό λυμένω

                  Translations courtesy Haratini E. Andre
 Communicating Well

 • In order to communicate you must
   speak a common language

“A problem well-defined is half solved.”
                                   Lou Cohen

 • You must share the problem definition
   – Across cultures
   – Across space
   – Across TIME
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       Models too!
  – Charts

    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
1.       You must be able to use the language
2.       You must model your system as a standard
                                           INCOSE Orlando
         practice                             Presents:
3.       “Speak” the language           SysML Tutorial, June 8th
                                               By Sandy Friedenthal
     •     Learn UML, SysML                      Lockheed Martin
     •     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
6.       Your customers (internal and external) must
         understand the language and the models
 Why model?

By themselves, drawings                                    1
can have dubious value                         describes
                     depiction       information
       Drawing                                       Model

                    The models they depict have
                  enormous value to the SE process

                     Design System      Implement          Integrate

Got Models? – Operational Concepts
• Do you do analyze operational
                      Sample Use Case Diagram
  Copilot /

                                  Track Target

                 <<extends>>                     <<extends>>       Scan by Pattern

              Select Track Mode                          Autotrack Image

                                     Drive Turret Manually
Got Models? - Requirements

• Do you model requirements and their
         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
                     Sample State Diagram

                                    Off Mode

                                            OFF COMMAND RCVD
          POWER APPLIED [
                                            / STORE DATA    OFF COMMAND RCVD
                                                                   / STORE DATA
                                Warmup Mode
                               entry: Assert Not
                                                                           Failure Mode
                                                    SELF TEST FAILED /
                                                    STORE FAILURE
                  TEMP REACHES OPT /
                       ASSERT READY
                                                                OFF COMMAND RCVD / STORE DATA
           TEMP FAULT             Standby Mode

                                                   OPTIONS SET CMD(  )
             ENABLE CMD RCVD
                                                   [ options enabled ] / SET OPTION

                                         DISABLE CMD RCVD

          TEMP FAULT                                                     OFF COMMAND RCVD / STORE DATA
                                  Ready Mode

      EXECUTE COMMAND[ safety confirmed ]
                                                  EXECUTION COMPLETED

                                   Fire Mode
                                  entry: emit 3
Got Models? – Event Traces

• Do you trace events? (DoDAF SV-10c)
                                             Sample Sequence Diagram
                 <<device>>                       <<device>>                                  <<device>>       <<device>>    <<device>>
                   Keypad           Credit    AlphaNumericDisplay               Chute        ScrewActuator   ChangeDispenser   M.A.U

 EnterLocation            DisplayMessage( code )

                        BuyProduct( selection )

                                                  GetPrice( selection )


                                                  DisplayMessage( error )

                                                   DispenseProduct( selection )




Got Models? - Deployment
• Do you deploy components onto
         Sample Deployment Diagram
            (borrowed from UML)
Got Models? - Parametrics

• Do you create parametric models?
            Sample Parametrics Diagrams
SysML Drawing Summary
SYSML DIAGRAM        PURPOSE                                   UML ANALOG
Activity diagram     Show system behavior as control and       Activity diagram
                     data flows. Useful for functional
                     analysis. Compare Extended Functional
                     Flow Block diagrams (EFFBDs), already
                     commonly used among systems
Block Definition     Show system structure as components       Class diagram
diagram              along with their properties, operations
                     and relationships. Useful for system
                     analysis and design.
Internal Block       Show the internal structures of           Composite
diagram              components, including their parts and     Structure diagram
                     connectors. Useful for system analysis
                     and design.
Package diagram      Show how a model is organized into        Package diagram
                     packages, views and viewpoints. Useful
                     for model management.
Parametric diagram   Show parametric constraints between       N/A
                     structural elements. Useful for
                     performance and quantitative analysis.
Requirement          Show system requirements and their        N/A
diagram              relationships with other elements.
                     Useful for requirements engineering.
SysML Drawing Summary - cont.
Sequence              Show system behavior as interactions between        Sequence
diagram               system components. Useful for system analysis       diagram
                      and design.
State Machine         Show system behavior as sequences of states         State Machine
diagram               that a component or interaction experience in       diagram
                      response to events. Useful for system design and
                      simulation/code generation.
Use Case diagram      Show system functional requirements as              Use Case
                      transactions that are meaningful to system users.   diagram
                      Useful for specifying functional requirements.
                      (Note potential overlap with Requirement
Allocation tables*                                                        N/A
                      Show various kinds of allocations (e.g.,
                      requirement allocation, functional allocation,
                      structural allocation). Useful for facilitating
derived tables, not
                      automated verification and validation (V&V) and
really a diagram
                      gap analysis.

  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
  – 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
  – Drawings start appearing in specs
  – Control the document = control the drawing
    inside it
  – Do the analysis as part of the effort to write the
• Make the managers want it
• Buy the tool after SysML is part of your
Why SysML?

• Standardized communications
  - across space
  - across time
• Improve life-cycle management
• Capture the artifacts of systems
• Eliminate dreaded Block   Diagrams

To top