Why Use SysML? by K8R0b2R9

VIEWS: 23 PAGES: 37

									Why Use SysML?
Eric A. Barnhart
Systems Engineering
                    Communications!


  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…




     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
 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 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…
                                                                        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”
 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
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


“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
Prerequisites
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
         language
6.       Your customers (internal and external) must
         understand the language and the models
 Why model?

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


                    The models they depict have
                  enormous value to the SE process

      Define
                     Design System      Implement          Integrate
   Requirements



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


                                  Track Target
                                                          <<extends>>

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

              Select Track Mode                          Autotrack Image

                                     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
Got Models? – States & Modes
• Do you analyze states/modes? (DoDAF
  SV10b)
                     Sample State Diagram

                                    Off Mode


                                            OFF COMMAND RCVD
          POWER APPLIED [
                                            / STORE DATA    OFF COMMAND RCVD
          powerIsStable]
                                                                   / STORE DATA
                                Warmup Mode
                               entry: Assert Not
                                                                           Failure Mode
                                     Ready
                                                    SELF TEST FAILED /
                                                    STORE FAILURE
                  TEMP REACHES OPT /
                                                    DATA
                       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
                                     pulses
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 )


                                                      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
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
                     engineers.
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
                      diagrams.)
Allocation tables*                                                        N/A
                      Show various kinds of allocations (e.g.,
                      requirement allocation, functional allocation,
*dynamically
                      structural allocation). Useful for facilitating
derived tables, not
                      automated verification and validation (V&V) and
really a diagram
                      gap analysis.
type


  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

								
To top