00 T2 Moreland

download 00 T2 Moreland

of 202

Transcript of 00 T2 Moreland

  • 8/13/2019 00 T2 Moreland

    1/2022008, ARTiSAN Software Tools 1

    Introduction to SysML

    Slide 1

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    Copyright 2006 ARTISAN Software Tools All Rights Reserved

    A n I n t ro d u c t i o n t o t h e A n I n t ro d u c t i o n t o t h e

    O M G S y s t e m s M o d e l i n g L a n g u a g e O M G S y s t e m s M o d e l i n g L a n g u a g e

    (OMG SysML(OMG SysML))

    Some slides Copyright 2006 by Object Management Group.Published and used by INCOSE and affiliated societies with permission.

    Clarence C. MorelandClarence C. Moreland

    Principal Consultant,Principal Consultant,ARTiSAN Software ToolsARTiSAN Software Tools

  • 8/13/2019 00 T2 Moreland

    2/2022008, ARTiSAN Software Tools 2

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 2

    Caveat

    This material is based on the Final AdoptedSysML specification (ad-06-05-04)

    Adopted by OMG in May 06

    Some of the slides are based on theOMG SysML tutorial and are used withpermission.

    OMG SysML Website

    http://www.omgsysml.org/

  • 8/13/2019 00 T2 Moreland

    3/2022008, ARTiSAN Software Tools 3

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 3

    Objectives & Intended Audience

    At the end of this tutorial, you should understand the: Benefits of model driven approaches to systems engineering Types of SysML diagrams and their basic constructs Cross-cutting principles for relating elements across diagrams Relationship between SysML and other Standards High-level process for transitioning to SysML

    This course is not intended to make you a systems modeler!

    You must use the language.

    Intended Audience:

    Practicing Systems Engineers interested in system modeling Already familiar with system modeling & tools, or

    Want to learn about systems modeling

    Software Engineers who want to express systems concepts Familiarity with UML is not required, but it will help

  • 8/13/2019 00 T2 Moreland

    4/2022008, ARTiSAN Software Tools 4

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 4

    Agenda

    Introduction

    Systems Engineering with SysMLRequirements and Requirements Diagrams

    Structural DiagramsBlocks and Block Diagrams

    Behavioral DiagramsUse Case modelling

    Activities and Activity Diagrams

    Sequence Diagrams

    State Machines

    Cross-cutting ConceptsRequirements traceability

    Allocations

    Package Diagram

    Parametric Diagrams

    Process IssuesQ&A

  • 8/13/2019 00 T2 Moreland

    5/2022008, ARTiSAN Software Tools 5

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 5

    SE Practices for DescribingSystems

    Specifications

    Interface requirements

    System design

    Analysis & Trade-off

    Test plans

    Moving from Document centric to Model centricMoving from Document centric to Model centric

    P a s t Past F u t u r e F u t u r e

  • 8/13/2019 00 T2 Moreland

    6/2022008, ARTiSAN Software Tools 6

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 6

    System Modeling

    Requirements

    Integrated System Model Must Address Multiple Aspects of a SysteIntegrated System Model Must Address Multiple Aspects of a Syste mm

  • 8/13/2019 00 T2 Moreland

    7/2022008, ARTiSAN Software Tools 7

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 7

    Model Based Systems

    Engineering Benefits

    Improved communications

    Assists in managing complex system development

    Separation of concerns

    Hierarchical modeling

    Incremental development & evolutionary acquisition

    Improved design quality

    Reduced errors and ambiguity

    More complete representation

    Early and on-going verification & validation to reduce risk

    Other life cycle support (e.g., training) Enhanced knowledge capture

  • 8/13/2019 00 T2 Moreland

    8/2022008, ARTiSAN Software Tools 8

    Introduction to SysML

    C opyright 2006ARTISAN Software Tools All Rights ReservedSlide 8

    What is SysML?

    A graphical modelling language in response to the UML forSystems Engineering RFP developed by the OMG,

    INCOSE, and AP233

    a UML Profile that represents a subset of UML 2 withextensions

    Supports the specification, analysis, design, verification,and validation of systems that include hardware, software,

    data, personnel, procedures, and facilities

    Supports model and data interchange via XMI and theevolving AP233 standard (in-process)

    SysML is Key Enabler for Model Based Systems Engineering (MBSE)SysML is Key Enabler for Model Based Systems Engineering (MBSE)

  • 8/13/2019 00 T2 Moreland

    9/2022008, ARTiSAN Software Tools 9

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 9

    What is SysML (cont.)

    Isa visual modeling language that provides Semantics = meaning

    Notation = representation of meaning

    Is n o t a methodology or a tool SysML is methodology and tool independent

  • 8/13/2019 00 T2 Moreland

    10/2022008, ARTiSAN Software Tools 10

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 10

    UML/SysML Status

    UML V2.0 Updated version of UML that offers significant capability

    for systems engineering over previous versions Finalized in 2005 (formal/05-07-04)

    UML for Systems Engineering (SE) RFP Established the requirements for a system modeling

    language Issued by the OMG in March 2003

    SysML Industry Response to the UML for SE RFP Addresses most of the requirements in the RFP

    Version 1.0 adopted by OMG in May 06 / In f inalization Being implemented by multiple tool vendors

  • 8/13/2019 00 T2 Moreland

    11/2022008, ARTiSAN Software Tools 11

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 11

    SysML Team Members

    Industry & Government American Systems, BAE SYSTEMS, Boeing, Deere & Company,

    EADS-Astrium, Eurostep, Lockheed Martin, NIST, NorthropGrumman, oose.de, Raytheon, THALES

    Vendors

    Artisan, EmbeddedPlus, Gentleware, IBM, Gentleware,I-Logix, Mentor Graphics, Motorola, PivotPoint Technology,Sparx Systems, Telelogic, Vitech Corp

    Academia

    Georgia Institute of Technology Liaison Organizations

    INCOSE, AP233 WG

  • 8/13/2019 00 T2 Moreland

    12/2022008, ARTiSAN Software Tools 12

    Introduction to SysML

    Slide 12

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    C opyright 2006 ARTISAN Software Tools All Rights Reserved

    Di ag ra m O v e rv ie wDi ag ra m O v e rv i e w

  • 8/13/2019 00 T2 Moreland

    13/2022008, ARTiSAN Software Tools 13

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 13

    Reuse of UML 2.0 for SysML

    UML 2.0SysML

    UML not

    required by

    SysML

    SysML

    ExtensionsUML reused

    by SysML

    This workshop deals with the full set of SysML diagrams, boththe inherited UML diagrams and the additional ones.

  • 8/13/2019 00 T2 Moreland

    14/2022008, ARTiSAN Software Tools 14

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 14

    Stereotypes & Model Libraries

    Mechanisms for further customizing SysML

    Profiles represent extensions to the language

    Stereotypes extend meta-classes with properties andconstraints

    Stereotype properties capture metadata about the model element

    Profile is applied to user model

    Profile can also restrict the subset of the meta-model usedwhen the profile is applied

    Model Libraries represent reusable libraries of model

    elements

  • 8/13/2019 00 T2 Moreland

    15/2022008, ARTiSAN Software Tools 15

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 15

    Stereotypes

    Defining the Stereotype Applying the Stereotype

  • 8/13/2019 00 T2 Moreland

    16/2022008, ARTiSAN Software Tools 16

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 1 6

    Tag Definition and Tag Value

    Tag Definition the definition (name, type) of an additional model item property

    applied to a model item via linked stereotype(s)

    Tag Value

    data value(s) for a specific tag definition for a specific model item

    *

    When you apply a stereotype to a model item, you often want to attach additional

    information to that element. In the example of a COTS stereotyped board you

    might want to specify the cost of that board. This is done by linking a tagdefinition (named, for example, cost) to the stereotype through which a tag

    value (for example, 24.50) can be specified for that board.

  • 8/13/2019 00 T2 Moreland

    17/2022008, ARTiSAN Software Tools 17

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 17

    Applying a Profile andImporting a Model Library

  • 8/13/2019 00 T2 Moreland

    18/2022008, ARTiSAN Software Tools 18

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 18

    SysML Taxonomy of Diagrams

    Diagram

    Structure Behavior

    Block

    Definition [1]

    Internal

    Block [2] Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

    [1] Modified UML Class Diagram

    [2] Enhanced UML Composite Structure Diagram

    SysML reuses many of the major diagram types of UML. In some cases, the UML

    diagrams are strictly re-used such as use case, sequence, state machine, and

    package diagram, whereas in other cases they are modified so that they areconsistent with SysML extensions. For example, the block definition diagram and

    internal block diagram are similar to the UML class diagram and composite

    structure diagram respectively, but have extensions or omissions. Activity

    diagrams have also been modified.

    SysML does not use all of the UML diagram types such as the object diagram,

    communication diagram, interaction overview diagram, timing diagram, and

    deployment diagram. This is consistent with the approach that SysML represents a

    subset of UML. In the case of deployment diagrams, the deployment of software to

    hardware can be represented in the SysML internal block diagram. In the case of

    interaction overview and communication diagrams, it is felt that the SysMLbehavior diagrams provided adequate coverage for representing behavior without

    the need to include these diagram types. Two new diagram types have been added

    to SysML : the requirement diagram and the parametric diagram.

    [SysML v1.0]

  • 8/13/2019 00 T2 Moreland

    19/2022008, ARTiSAN Software Tools 19

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 1 9

    Modelling and Your Project

    Not all diagram types are essential most projects will only use a subset

    You may have additional specializedmodelling requirements: process related

    domain related

    customer defined

    etc.

    *

    For many organizations, any approach to modeling needs to be customized, to

    include standards, notation and information relevant to the organization, its

    customers, and the projects it undertakes. This need to extend the modelingcapability of the language is recognized within the UML by the specification of

    extension mechanisms. The UML provides a mechanism for extending or

    customizing modeling information. This mechanism uses the above concepts to

    label model elements and to define additional properties for them.

  • 8/13/2019 00 T2 Moreland

    20/2022008, ARTiSAN Software Tools 20

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 20

    ibd [Block] Anti-Lock Controller1

    Block

    Anti-Lock Controller

    BlockPropertyd1 : Traction Detector

    BlockProperty

    m1 : Brake Modulator

    BlockPropertyd1 : Traction Detector

    BlockProperty

    m1 : Brake Modulator

    c1:modulator interface

    use

    interaction

    par[constraint] StraightLineVehicleDynamics [Parametric Diagram]

    : AccelerationEquation

    F c

    a

    : BrakingForceEquationtf

    tl

    bf

    f

    : DistanceEquation

    vx

    : VelocityEquation

    a

    v

    {f = (tf*bf)*(1-tl)} {F = ma}

    {v = dx/dt} {a = dv/dt}

    The Four Pillars of SysML

    (ABS Example)

    1. Structure

    4. Parametrics

    2. Behavior

    Vehicle SystemSpecification

    Braking SubsystemSpecification

    requirement

    id#102

    txtThe vehicle shall stop from

    60 mph within 150ft on aclean dry surface.

    Stopping Distance

    requirement

    id#337

    txtThe Braking subsystem shallprevent wheel lockup under

    all braking conditions.

    Anti-Lock Performance

    req[Package] Vehicle Specifications [Braking]

    deriveReqt

    3. Requirements

    bdd [Package] Vehicle [ABS]

    BlockLibrary::

    Electronic

    Processor

    BlockAnti-Lock

    Controller

    BlockLibrary::

    Electro-HydraulicValve

    BlockTraction

    Detector

    BlockBrake

    Modulator

    d1 m1

    definition

    Gripping Slipping

    LossOfTraction/

    RegainTraction/

    stmTire [Traction] state machine

    Detect Loss OfTraction

    TractionLoss ModulateBraking Force

    act PreventLockupactivity/function

    Structure

    e.g., system hierarchies, interconnections

    behavior

    e.g., function-based behaviors, state-based behaviors

    Properties

    e.g., parametric models, time variable attributes

    Requirements

    e.g., requirements hierarchies, traceability

  • 8/13/2019 00 T2 Moreland

    21/2022008, ARTiSAN Software Tools 21

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 21

    SysML Diagram Frames

    Each SysML diagram represents a model element

    Each SysML Diagram must have a Diagram Frame Diagram context is indicated in the header:

    Diagram kind (act, bdd, ibd, seq, etc.)

    Model element type (activity, block, interaction, etc.)

    Model element name

    Descriptive diagram name or view name

    A separate diagram description block is used to indicate if thediagram is complete, or has elements hidden

    Header

    Contents

    Diagram Description

    Version:Description:Completion status:Reference:(User-defined fields)

    diagram usage

    diagramKind [modelElementType] modelElementName [diagramName]

  • 8/13/2019 00 T2 Moreland

    22/2022008, ARTiSAN Software Tools 22

    Introduction to SysML

    Slide 22

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    C opyright 2006 ARTISAN Software Tools All Rights Reserved

    Re q u ire m e n t s Re q u ire m e n t s

  • 8/13/2019 00 T2 Moreland

    23/2022008, ARTiSAN Software Tools 23

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 23

    The Requirements Diagram

    Diagram

    Structure Behavior

    Block

    Definition

    Internal

    Block Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

    The Requirements diagram sits out side the Structure/behavior organization of the

    remaining SysML diagram types.

  • 8/13/2019 00 T2 Moreland

    24/2022008, ARTiSAN Software Tools 24

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 24

    What are Requirements?

    Statement of a customers needs andexpectations

    Describes the essential characteristics of thecustomers goals

    Requirements should be problem based and notdescribe the solution. However, if there aresolution based elements in the requirements,these must be modelled and included in thesolution.

  • 8/13/2019 00 T2 Moreland

    25/2022008, ARTiSAN Software Tools 25

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 25

    The SysML Requirements DiagramWh a t is i t u se d fo r ?

    The Requirements diagram can be used for a varietyof purposes throughout the system lifecycle: Traditional text requirements and their properties (e.g., id,

    statement, criticality, etc)

    Grouping a set of requirements in a package

    Breaking down requirements into constituent elements

    Demonstrating traceability between derived and source

    requirements

    Showing which design elements satisfy which requirements

    Verification of a requirement, or design element by a test case Rationale for all of the above

    How the requirements diagram is used will vary depending on the industry,

    company, project, and process. Its main strength is in its ability to graphically

    represent requirements and how they pertain to the rest of the UML model.

  • 8/13/2019 00 T2 Moreland

    26/2022008, ARTiSAN Software Tools 26

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 26

    Requirements

    A requirement specifies a capability or condition that must (orshould) be satisfied [SysML]

    Can specify function to be performed or performance criteriato be met

    Basic attributes of a Requirement ID: A unique identifier for the Requirement

    Text: A Description of what is Required.

    Users can create stereotypes and tags to add specificproperties, e.g. Requirement type (Performance, Safety, Functional, etc. )

    Criticality

    Test method

    Status

    Etc.

    requirement

    txtThe System shall do...

    reqtType

    function

    REQ_A1

  • 8/13/2019 00 T2 Moreland

    27/2022008, ARTiSAN Software Tools 27

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 27

    SysML Requirements Diagram

    Elements

    Design Elements

    Model Element CModel Element C

    Model Element T

    Model Element A

    testCaseModel Element B

    requirement

    txtThe System shall do...

    reqtTypefunction

    REQ_A1

    requirement

    REQ_A1.1requirement

    REQ_A1.2

    requirement

    REQ_B1

    requirement

    REQ_C

    rationale

    explanationproblem

    description of problem

    requirement

    derivedFromREQ_A1.1

    req Requirement Diagram 1

    deriveReqt

    refine

    trace

    satisfy

    verify

    Requirement

    Callout

    Containment

    requirement

    txtsame text

    REQ_D

    copy

    The requirement diagram shows both requirements and the different types of

    relationship that can be specified between them.

    Requirement properties (such as the textual description) can be shown ifrequired.

    Containment(sometimes referred to as flowdown) is used to show where

    requirements are decomposed into sub-requirements.

    ThederiveReqtandcopyrelationships can only exist between

    requirements. trace, refine, satisfy and verifycan exist between a

    requirement and any other model element.

    Theverifyrelationship can only exist between a requirement and a behavioral

    model element stereotyped as a testCase.

    An alternative to these direct relationships is to use the callout notation onlyone example of the callout notation is shown here.

    problem andrationalecomments can be added as required to any model

    element to capture issues and decisions.

  • 8/13/2019 00 T2 Moreland

    28/2022008, ARTiSAN Software Tools 28

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 28

    SysML Requirements Diagram

    Example

    activityDistill Water

    UseCaseDistill Water

    requirement

    txtThe system must be ableto connect directly tomains water

    Water Input

    requirement

    txtDistill dirty water into pure water

    Produce Distilled Water

    requirement

    txtThe pure water outputmust be at a safetemperature

    Water Output

    requirement

    txtThe system shall handle1 litre of water per minute

    Water Throughput

    Customer Brochure

    requirement

    txtThe system shall have aninput valve that is closedwhen the system is off

    Provide Input Protection

    requirement

    txtThe system must have anoverflow valve in the mainheating vessel

    Handle Overflow

    requirement

    txtThe condenser needs tocool the pure water to 30C

    Condenser Efficiency

    refine

    satisfy

    trace

    deriveReqt

    deriveReqt

    deriveReqt

    rationaleAnalysis of this activity

    hows that the throughputis possible

    rationaleDirect connection to high

    pressure mains when thesystemis off might cause

    damage

    rationaleHigh pressure w ater may

    overpower the boiler soan overflow valve is

    needed

    rationale0 is deemed a safe

    output temperature

    req [package] UserRequirements

  • 8/13/2019 00 T2 Moreland

    29/2022008, ARTiSAN Software Tools 29

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 29

    Problem and Rationale

    Problem and Rationale can be attached to anyProblem and Rationale can be attached to anyModel Element to Capture Issues and DecisionsModel Element to Capture Issues and Decisions

  • 8/13/2019 00 T2 Moreland

    30/2022008, ARTiSAN Software Tools 30

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 30

    An Automotive Example

    The Business Process

    The Business Case

    Marketing have identified a niche in the market for a mid-range engine, high-specification vehicle(Named: XSV-2001). The eventual cost of the vehicle will be in the range of 16K-20K, with aproposed launch date of Spring 2003. Finance have made 300K available for Conception andDevelopment (including any re-tooling and training on the production line). The estimated profit marginis 10%-15% per production unit. Minimal changes will be made to existing production lines and tooling,and maximum use of existing components is mandated. A review will be held in 4-months todetermine go-ahead of Development (and subsequent) phases. Target market: Executive Fleet andFamily.

    Feature-Set

    Standard

    Front-Wheel Drive, Front-engine, 5-Door (hatch-back), 5 -Seat three-point inertial seat -belts (standard

    options of colour & cover); 1999ccm Variable Valve Control Petrol Engine; Integrated Traction &Cruise Control; Engine Management System (EMS) (including both Control and Diagnostics);Advanced Breaking System (ABS); Electric Windows & Seat Adjustment and Heating (Front seatsonly, Front windscreen only); Optional:

    Front and Rear proximity sensors (including distance read-out and audio warning); GPS NavigationSystem (including audio instructions); (Sports Option) Engine Management System;

    The Business Case

    Will specify the Requirement for a System (e.g. a Car)

    Ma yinclude (solution-based) capabilities of the System (e.g. Cruise

    Control, EMS, ABS)

    Ma yinclude Constraints (e.g. Cost, Time, Component Reuse, Tooling)

    The Business Case defines that a System is required and defines the

    requirements of the System from the Business perspective. This will include

    some high-level decisions regarding the Systems Capabilities and Usage. TheBusiness Case will also identify business-level Constraints e.g. Development and

    Production time and cost limits.

  • 8/13/2019 00 T2 Moreland

    31/2022008, ARTiSAN Software Tools 31

    Introduction to SysML

    Slide 31

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    Copyright 2006 ARTISAN Software Tools All Rights Reserved

    S y s M L S t r u c t u r e S y s M L S t r u c t u r e

  • 8/13/2019 00 T2 Moreland

    32/2022008, ARTiSAN Software Tools 32

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 32

    Block Diagrams

    Diagram

    Structure Behavior

    Block

    Definition

    Internal

    Block Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

  • 8/13/2019 00 T2 Moreland

    33/2022008, ARTiSAN Software Tools 33

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 33

    Blocks are BasicStructural Elements

    Provides a unifying concept to describe the structure of anelement or system

    Hardware

    Software

    Data

    Procedure

    Facility

    Person

    Multiple compartments can describe the blockcharacteristics

    Properties (parts, references, values) Operations Constraints Allocations to the block (e.g. activities)

    Requirements the block satisfies

  • 8/13/2019 00 T2 Moreland

    34/2022008, ARTiSAN Software Tools 34

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 34

    Block Property Types

    Property is a structural feature of a block Part propertyaka. part (typed by a block)

    Usage of a block in the context of the enclosing block

    Example - right-front:wheel

    Reference property(typed by a block)

    A part that is not owned by the enclosing block (notcomposition)

    Example - logical interface between 2 parts

    Value property(typed by value type)

    Defines a value with units, dimensions, and probability

    distribution

    Example

    Non-distributed value: tirePressure:psi=30

    Distributed value: uniform {min=28,max=32}tirePressure:psi

  • 8/13/2019 00 T2 Moreland

    35/2022008, ARTiSAN Software Tools 35

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 35

    Using Blocks

    Based on UML Class from UML Composite Structure Eliminates association classes, etc.

    Differentiates value properties from part properties, add nestedconnector ends, etc.

    Block definition diagram describes the relationship amongblocks (e.g., composition, association, classification)

    Internal block diagram describes the internal structure of a

    block in terms of its properties and connectors

    Behavior can be allocated to blocks

    Blocks Used to Specify Hierarchies and InterconnectionBlocks Used to Specify Hierarchies and Interconnection

  • 8/13/2019 00 T2 Moreland

    36/2022008, ARTiSAN Software Tools 36

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 36

    bdd[Package] Block Def intion Diagram [bdd- Notation]

    Block::Block1

    Block

    partsmyPart : Block4refParts : Block6 [*]

    sharedPart : Block5 [0..1]

    referencesrefParts : Block6 [*]

    valuesaValue : ValueType1

    Block2

    Block::Block1::Block3

    BlockBlock4

    BlockBlock5

    BlockBlock6

    ValueType

    dimension

    Dimension1

    unitUnit1

    ValueType1

    Actor1

    1

    1

    myPart 0..1

    1

    sharedPart

    *1

    refParts

    11

    Block Definition Diagram (bdd)

    Notation

    Generalization

    Namespacecontainment

    Referenceassociation

    Shared

    associationPartassociation

    Multiplicity

    Compartments

    Part (role)names

    Examples of blocks, and part, reference and value properties are shown here. The

    generalization relationship indicates that Block 2 inherits properties of Block 1. The

    reference association is used to indicate which parts are reference parts. A partassociation shows exclusively owned parts, a shared association indicates parts shared

    with other blocks. Multiplicity values indicate the number of parts.

  • 8/13/2019 00 T2 Moreland

    37/2022008, ARTiSAN Software Tools 37

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 37

    ibd [Block] Block2 [ibd Notation]

    BlockBlock2

    BlockPropertymyPart : Block4

    fPort1

    fPort3

    BlockProperty

    0..1

    sharedPart : Block5

    fPort2

    sPort

    BlockProperty

    *

    refParts : Block6

    fPort4

    Actor1

    pI/F

    rI/F

    ItemFlow1 : ItemTypeItemFlow

    ItemFlow3 : DataType2ItemFlow

    ItemFlow2 : ValueType1ItemFlow

    Internal Block Diagram (ibd) Notation

    E n c l o s i n g E n c l o s i n g

    B l o c k B l o c k

    C o n n e c t o r C o n n e c t o r

    Po r t Po r t

    Item FlowItem Flow

    Internal Block Diagram SpecifiesInternal Block Diagram SpecifiesInterconnection of PartsInterconnection of Parts

    ReferenceReference

    Pr o p e r tyPr o p e r ty

    (in, but not of)(in, but not of)

    PartPart

    Note the consistency between this ibd and the previous bdd (part names, types

    and multiplicities).

  • 8/13/2019 00 T2 Moreland

    38/2022008, ARTiSAN Software Tools 38

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 38

    Parts

    A Part is a property of a block that the block requiresin order to exist

    Used to illustrate the hierarchical composition of asystem and its components

    A part is normally typed by a block and representsan instance of that type within its enclosing block

    A referenced property is a part not owned by itsenclosing block, but referenced by some other partof that enclosing block

  • 8/13/2019 00 T2 Moreland

    39/2022008, ARTiSAN Software Tools 39

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 39

    SysML Port

    Specifies an interaction point on a block or a part

    Supports integration of behavior and structure

    Linked by a connector to one or more other ports

    Port types

    Standard (UML) Port

    Specifies a set of operations and/or signals

    Typed by a (UML) interface

    Flow Port

    Specifies whatcan flow in or out of block/part

    Atomic ports are:

    Uni-directional Typed by the single item that flows in or out

    Non-atomic ports are:

    Bi-directional

    Typed by a flow specification

  • 8/13/2019 00 T2 Moreland

    40/2022008, ARTiSAN Software Tools 40

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 40

    Port Notation

    BlockPropertypart1 sp1sp1

    BlockPropertypart2sp2sp2

    BlockPropertypart1

    fp1 : ItemType1fp1 : ItemType1BlockProperty

    part2

    fp2 : ItemType1fp2 : ItemType1

    BlockPropertypart1

    fp3 : FlowSpec1fp3 : FlowSpec1BlockProperty

    part2

    fp4 : FlowSpec1fp4 : FlowSpec1

    Interface1 Interface1

    Sta n d a r d Po r t Sta n d a r d Po r t

    A t o m i c F l o w P o r t A t o m i c F l o w P o r t

    No nNo n--a t o m i c F l o w P o r t a t o m i c F l o w P o r t

    Standard ports are typed by one or more interfaces. A provided interface (lollipop)

    specifies the services provided through the port; a required interface (cup) specifies

    required services.

    Note the consistency of direction of the atomic flow ports.

    Flow port syntax is name : type, but what is actually shown may be either or both.

  • 8/13/2019 00 T2 Moreland

    41/2022008, ARTiSAN Software Tools 41

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 41

    Unit and Item Types

    Unit typesnormally basedon Real

    SI Units and

    Dimensionsdefined in SysML

    appendix

    block

    valueslh : J/kg = 520m : kg = 0press : Pash : J/kg/C = 1t : C

    H2O

    block

    valuesQ : J

    Heat

    block

    valueslh : J/kg = 520press : Pash : J/kg/C = 1t : C

    Residue

    block

    valueslh : J/kg = 520press : Pash : J/kg/C = 1t : C

    Fluid

    block

    valuesp : W

    Electricity

    bdd[package] Items

    valueType

    dimension = mass

    unit = kilogram

    kg

    valueType

    dimension = temperatureunit = degrees Centigrade

    C

    valueType

    unit = Joules

    J

    valueType

    unit = kilograms/second

    kg/s

    valueType

    dimension = pressureunit = kilograms/square meter

    kg/m

    bdd Units

  • 8/13/2019 00 T2 Moreland

    42/2022008, ARTiSAN Software Tools 42

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 42

    Port Typing

    An atomic flow specifies a single item that flows in our out. A flow specification lists multiple items that flow.

    flowSpecification

    flowPropertyList

    in FuelSupply : Fuelout FuelReturn : Fuel

    FPump-ICE

    flowSpecification

    flowPropertyList

    in TorqueIn : Torqueout TorqueOut : Torque

    TorqueSpec

    valueTypeAnalogue

    flowSpecification

    flowPropertyList

    in Value : V

    Digital

    InterfaceEMU Msg

    Send ()

    Interface

    Set Throttle

    Set Throttle ()

    block

    values

    MassFlowRate : gm/secPress : kg/m

    Temp : C

    Liquid

    block

    values

    MassFlowRate : gm/secPress : kg/m

    Temp : C

    Fuel

    valueTypeC

    valueTypekg/m

    valueTypegm/sec

    valueTypeSysML Extras::SI Unit Types::AInterface

    TransmIF

    Gear ()

    Temp

    Press

    MassFlowRate

    bdd [package] Flow Specifications

    F lo w F lo w

    Sp e c if ic a t io n Sp e c if ic a t io n

    InterfaceInterface

    B l o c k B l o c k Va lu e T y p e Va lu e T y p e

  • 8/13/2019 00 T2 Moreland

    43/2022008, ARTiSAN Software Tools 43

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 43

    Delegation Through Ports

    Delegation can be usedto preserve encapsulationof block

    Interactions at outer portsof Block1 are delegatedto ports of child parts

    Ports must match (samekind, types, direction etc.)

    (Deep-nested)Connectors can breakencapsulation if required(e.g. in physical systemmodelling)

    Child2:

    Child1:

    ibd [block]Block1[delegation]

  • 8/13/2019 00 T2 Moreland

    44/2022008, ARTiSAN Software Tools 44

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 44

    Connectors and Flows

    BlockPropertyPart 1 : Block B

    fp1 : FlowSpec1fp1 : FlowSpec1 BlockPropertyPart 2 : Block C

    fp2 : FlowSpec1fp2 : FlowSpec1

    ItemFlow1 : DataType1ItemFlowItemFlow1 : DataType1ItemFlow

    Flow Ports type specifies

    what c an flowin/out

    Item Flow -Specifies what

    d o e sflow

    (in context)

    Connector

    FlowSpecification

    flowPropertyListin FlowProperty1 : Block3out FlowProperty2 : DataType1inout FlowProperty3 : ValueType2

    FlowSpec1

    A connector is a link between parts that enables communication between them.

    The flow ports, through their type, define what sort of things can flow across the

    connector. This can be discrete items such as a data packet or an interrupt, orcontinuous flows like heat or fluids. What does actually flow in the specific

    context of a specific diagram is specified by one or more item flows, whose type

    must be consistent with that of the flow ports.

  • 8/13/2019 00 T2 Moreland

    45/2022008, ARTiSAN Software Tools 45

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 45

    Structure vs. Usage

    Definition Block is a definition/type

    Captures properties, etc.

    Reused in multiple contexts

    Usage

    Part is the usage in aparticular context

    Typed by a block

    Also known as a role

    Block Definition Diagram Internal Block Diagram

  • 8/13/2019 00 T2 Moreland

    46/2022008, ARTiSAN Software Tools 46

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 46

    Block Definition DiagramExample

    Parts compartmentshows structural children

    Values compartmentshows properties of theblock

    Flowports compartmentdescribes the interfaceto the block

    Operations compartmentshows functionalcapabilities (a means of

    invoking block activities dealt with later)

    bdd[Package] Distiller [Structure - with compartments]

    Block

    operations

    TurnOn ()TurnOff ()

    partsbx1 : Boilercx1 : Controller

    drain : Valvefeed : Valvehx1 : Heat Exchangerui1 : Control Panel

    flowPortListout DSClean_Out : H2O

    in DSDirty_Out : H2Oout DSExcess : H2Oin DSPower_In : Powerout DSResidue_Out : Residue

    Distiller

    Block

    valuesMax : tempMin : temp

    flowPortListout BLExcess : H2Oin BLHotDirty_In : H2Oin BLPower_In : Powerinout blrSig : blrSigout BLSteam_Out : H2Oout BLSteam_Out2 : Residue

    Boiler

    Block

    flowPortListin Feed_HotDirty_In : H2Oout Feed_HotDirty_Out : H2Oin Fluid_In : Fluidout Fluid_Out : Fluid

    Valve

    Block

    valuestempGradient : Real

    flowPortListout HEClean_Out : H2Oin HEDirtyIn : H2Oout HEHotDirty_Out : H2Oin HESteam_In : H2O

    Heat Exchanger

    BlockControl Panel

    Block

    operationspwrOn ()ResidueTimer ()DrainTimer ()shutDown ()

    Controller

    User

    bx1

    drain

    hx1

    1

    1

    feed

    1

    1

    ui1

    1

    1

    cx1

    11

    user

    The block definition diagram (bdd) shows block properties. Which specific block

    properties are shown is down to the choice of the modeler.

    Parts (part properties) are normally shown using the UML composition relationship (the

    filled in diamond), where the role names at the other end of the relationship specify the

    part name (the block name at that end specifying the type). Part properties can also be

    shown in the Parts compartment of the containing block.

    The Values compartment can be used to show any values (and their type) relevant to the

    block.

    The Flowports compartment (if shown) will list all flowports created on an internal blockdiagram (ibd) for the block or parts typed by the block.

    The Operations compartment (if shown) will list all block operations. An operation

    specifies a functional capability of the block, and acts as a means through which block

    activity can be invoked. This topic is dealt with in greater detail later in the course.

  • 8/13/2019 00 T2 Moreland

    47/2022008, ARTiSAN Software Tools 47

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 47

    ibd[block] Distiller

    IBD for Distiller

    Non-Atomic Flow Ports (BC and HEC) I/O is specified using FlowSpecification

    FlowSpecification consists of propertiesstereotyped FlowProperty

    isConjugate promotes reuse offlowSpecifications

    Atomic FlowPorts (dirtyWater,extPower )

    In this case the port is directly typed bythe item type (Block or ValueType)

    Direction property specifies thedirection of flow

    block Di stiller

    PureWater

    loPressResidue

    dirtyWater

    hx :HeatExchangerfIn : Fluid

    pFOut

    HEC

    tempWrn

    bl : Boiler

    SOut

    BC

    excess

    blWrn

    PwrIn

    Rcnt

    Ocnt

    controller : Controllerui

    vO

    vD

    wrn

    pwrIn

    blrPwr

    vI

    UI : FrontPanel

    cnt

    User

    overFlow

    extPower

    inValve :

    FlowValveip

    op

    cnt

    UserIO

    ILamp

    IPower

    IValve

    IValve

    ILamp

    IPower

    IValve

    IValve

    IValve

    IValve

    waterOut : H2O

    blSteamOut : H2O

    hxWaterOut : H2O

    PowerIn : Electricity

    RegPower : Electricity

    waterIn : H2O

    Excess : H2O

    blSludgeOut : Residue

    problemOverflow water is

    very hot!

  • 8/13/2019 00 T2 Moreland

    48/2022008, ARTiSAN Software Tools 48

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 48

    Internal Block Diagram Example 2 :

    Drill-down to show Boiler internals

    ibd [Block] Boiler [drill down]

    BlockBoiler

    BlockPropertyheater : Element

    ELPower_In : Power

    ELHeat_Out : Heat

    BlockPropertytank : Heating Vessel

    HVHeat_In : HeatHVHotDirty_In : H2O

    HVSteam_Out : H2O

    HVSludge : Residue

    HVExcess : H2O

    BLHotDirty_In : H2O

    BLSteam_Out : H2O

    BLSteam_Out2 : Residue

    BlockPropertyvOverFlow : Valve

    Fluid_In : FluidFluid_Out : Fluid

    BlockPropertyvResidue : Valve

    Fluid_In : Fluid

    Fluid_Out : Fluid

    BLPower_In : Power

    BLExcess : H2O

    BlockPropertyheater : Element

    ELPower_In : Power

    ELHeat_Out : Heat

    ELPower_In : Power

    ELHeat_Out : Heat

    BlockPropertytank : Heating Vessel

    HVHeat_In : HeatHVHotDirty_In : H2O

    HVSteam_Out : H2O

    HVSludge : Residue

    HVExcess : H2O

    HVHeat_In : HeatHVHotDirty_In : H2O

    HVSteam_Out : H2O

    HVSludge : Residue

    HVExcess : H2O

    BLHotDirty_In : H2O

    BLSteam_Out : H2O

    BLSteam_Out2 : Residue

    BlockPropertyvOverFlow : Valve

    Fluid_In : FluidFluid_Out : Fluid

    Fluid_In : FluidFluid_Out : Fluid

    BlockPropertyvResidue : Valve

    Fluid_In : Fluid

    Fluid_Out : Fluid

    Fluid_In : Fluid

    Fluid_Out : Fluid

    BLPower_In : Power

    BLExcess : H2O

    Shows parts (structural children)

    and ports (interaction points onblock and parts)

    Supports consistency of layers

    The ports on the (enclosing) Boiler block can be automatically populated on this

    diagram from the information on the previous diagram.

  • 8/13/2019 00 T2 Moreland

    49/2022008, ARTiSAN Software Tools 49

    Introduction to SysML

    Slide 49

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    C opyright 2006 ARTISAN Software Tools All Rights Reserved

    Use CasesUse Cases

  • 8/13/2019 00 T2 Moreland

    50/2022008, ARTiSAN Software Tools 50

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 50

    SysML Use Case Diagram

    Diagram

    Structure Behavior

    Block

    Definition

    Internal

    Block Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

    The Use Case diagram in SysML is used to capture aspects of behavior.

  • 8/13/2019 00 T2 Moreland

    51/2022008, ARTiSAN Software Tools 51

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 51

    Use Cases

    Provide means for describing basic functionalityin terms of usages/goals of the system by actors

    Common functionality can be factored out viainclude and extend relationships

    Generally elaborated via other behavioralrepresentations to describe detailed scenarios

    No change to UML

  • 8/13/2019 00 T2 Moreland

    52/2022008, ARTiSAN Software Tools 52

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 52

    Use Case Diagram

    Flight Crew

    Navigator

    Pilot

    Air-To-AirTracking

    Air-To-GroundStrike

    WeatherMonitoring

    ActorGeneralisation

    Actor SubjectBoundary

    Use Case

    Subject NameucDiagram Name

    The subject may be the entire system or a component of that system.

    SysML syntax use the prefix uc followed by the name of the diagram in the

    outer frame.

  • 8/13/2019 00 T2 Moreland

    53/2022008, ARTiSAN Software Tools 53

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 3

    What is a Use Case?

    *

    Use Cases describe the goals that actors have in relationto the system.

    A Use Case meets a need or solves a problem for anactor.

    So, what is an Actor ?

    An Actor is an entity which is eternal to the system, whichinteracts with the system, but is not a part of the system.

    Actors should reflect the entire system lifecycle including:

    manufacture, test, installation, maintenance, etc.

  • 8/13/2019 00 T2 Moreland

    54/2022008, ARTiSAN Software Tools 54

    Introduction to SysML

    An actor is anything outside the system to which the system interfaces. This

    may be a person, an external system or item of equipment, or some more abstract

    concept such as time.

    Examples:

    Person - Pilot, Operator, Maintainer, etc

    External System - EPOS, Mainframe, etc

    Time - Timeouts, Scheduled events

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 4

    What is an Actor?

    A Person

    An ExternalSystem

    Abstractsuch as Time

    *

    Expected Actors Unexpected Actors

    UnauthorizedUsers

    AdverseEnvironmentalConditions

    Threats

  • 8/13/2019 00 T2 Moreland

    55/2022008, ARTiSAN Software Tools 55

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 55

    What is a Use Case?

    Defines how the actors interact with the system

    Functionality triggeredby an actor(Primary Actors)

    Functionality usedby an actor

    Functionality in whichan actor participates(Secondary Actors)

    Local operator

    MonitorSystem

    Remote

    Operator

    Shutdown

    Plant

    Customer KioskOperator

    Fuel

    Transaction

  • 8/13/2019 00 T2 Moreland

    56/2022008, ARTiSAN Software Tools 56

    Introduction to SysML

    A primary actor uses the system to achieve one or more specific goals. A use case

    specifies what the system must do to satisfy a goal. Primary actors often initiate

    the use case that delivers the goal.

    It may be necessary for other actors to interact with the system in some well-

    defined manner in order for the primary actors goal to be realized by the system.

    These are referred to as secondary actors.

    Stereotypes can be used to indicate primary or secondary actors.

    An actor represents a role played by a user of the system. This is particularly

    relevant where the actor is human; the same person may be capable of playingmore than one role with respect to the system. This situation may also imply a

    requirement for access controls to use case functionality.

    The UML Generalization relationship (shown using the triangle notation) can be

    used to indicate a situation where one actor inherits the same set of use case

    interactions shown for another actor. The specialized actor normally also has

    additional use case interactions.

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 6

    Actor Characteristics

    Primary actor

    Main beneficiary of use case

    Normally initiates use case

    Secondary actor

    Has interaction responsibilities, but does not initiate

    *

    Actors represent roles

    operator, supervisor,

    Generalization of actors indicates inheritance of

    use case interactions

    Operator

    Primary

    Event Log

    System

    Secondary

    Supervisor

    Start LocalSystem

    RunDiagnostics

  • 8/13/2019 00 T2 Moreland

    57/2022008, ARTiSAN Software Tools 57

    Introduction to SysML

    It is very important to describe each use case thoroughly and in simple English.

    This description should be signed off by the user. This description also acts as a

    starting point for a more structured breakdown of the use case in later stages ofdevelopment. For this it can be useful if the description employs a subject - verb

    - object format, e.g. customer inserts card.

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 7

    Use Case descriptions specifydetails

    Automated Teller Machine

    Withdraw Cash

    Transfer FundsDeposit FundsCustomer

    Use Case: Withdraw Cash

    When a customer inserts a card, the machine reads

    the code from the card and checks if it is an

    acceptable card. If so it asks the customer for a PINcode (4 digits). If not, the card is ejected.

    When the PIN code is received the machine checkswhether the PIN code is correct for the specific

    card. If so, the machine asks for what transactionthe customer wishes to perform.

    When the customer selects cash withdrawal themachine asks for the amount. Only multiples of $20

    are allowed. ...

    Use Case: Withdraw Cash

    When a customer inserts a card, the machine reads

    the code from the card and checks if it is anacceptable card. If so it asks the customer for a PIN

    code (4 digits). If not, the card is ejected.

    When the PIN code is received the machine checkswhether the PIN code is correct for the specific

    card. If so, the machine asks for what transactionthe customer wishes to perform.

    When the customer selects cash withdrawal the

    machine asks for the amount. Only multiples of $20

    are allowed. ...

    *

    Other Attributes Pre-conditions

    Post-conditions(Guarantees)

    Constraints

    Intent Alternate courses

    Stakeholders

    Priority

    Complexity

  • 8/13/2019 00 T2 Moreland

    58/2022008, ARTiSAN Software Tools 58

    Introduction to SysML

    Basic use cases specify the main services the system provides for its actors,

    ignoring exception situations. Subordinate (to their base use cases) use cases can

    be specified for specifying exception handling or for specifying functionalactivity duplicated within more than one use case.

    We can show the relationships between any subordinate use cases and their base

    use cases on the use case diagram.

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 8

    A single goal may requiremore than one Use Case

    Focus initially on the basic Use Cases

    The goals for each actor

    Fundamental services, ignoring exceptions

    Withdraw Cash

    Consider optional Use Cases separately

    Subordinate, alternate services

    Often error or exception handling

    Wrong PIN code

    Look for repeated functionality

    Subordinate, duplicated functional activity

    Occur in more than one use case

    Validate PIN code

    Use Case organization defined by three types of relationship: extend relationship

    include relationship

    Generalization relationship

    *

  • 8/13/2019 00 T2 Moreland

    59/2022008, ARTiSAN Software Tools 59

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 5 9

    include relationship extractscommon courses of action

    Common behavior may be extracted from otheruse cases

    Defines a must be done relationship

    Simplifies change

    *

    Card Validation

    TransferFunds

    WithdrawFunds

    Deposit Funds

    include

    includeinclude

    An include relationship can be thought of as a subroutine type of relationship.

    In order to Withdraw Funds, Transfer Funds or Deposit Funds, it is essential to

    carry out a Card Insertion.

  • 8/13/2019 00 T2 Moreland

    60/2022008, ARTiSAN Software Tools 60

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 6 0

    extend relationship modelsoptional courses of action

    Model an optional part of a usecase

    Allows introduction of separatesub-courses without affectingcourse of activity in base usecase

    Defines a may get donerelationship

    Bank CardTransaction

    Reject InvalidCard

    extend

    In the example we have shown a base use case (Bank Card Transaction) and a

    subordinate extended use case (Reject Invalid Card). Reject Invalid Card will

    only be invoked from Bank Card Transaction in exceptional circumstances.

  • 8/13/2019 00 T2 Moreland

    61/2022008, ARTiSAN Software Tools 61

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 6 1

    Generalisation relationshipmodels specialized Behavior

    Child use cases inherit from parent use case

    Child use cases can extend behavior of parent

    Operator

    PowerSupply

    InitializeSystem

    Power UpInitialization

    OperatorReset

    A generalization relationship between use cases implies that the child use case

    contains all the attributes, sequences of behavior, and extension points defined in

    the parent use case, and participates in all relationships of the parent use case.The child use case may also define new behavior sequences, as well as add

    additional behavior into, and specialize existing behavior of, the inherited ones.

    One use case may have several parent use cases and one use case may be a parent

    to several other use cases.

    It is often possible to use include or extend relationships in place of

    generalization.

  • 8/13/2019 00 T2 Moreland

    62/2022008, ARTiSAN Software Tools 62

    Introduction to SysML

    A Use Case defines a service provided by a computer system for an actor. For

    instance, in using a word processor, some use cases would be :

    Make the text bold;

    Create an index;

    Spellcheck the document;

    The properties of a Use Case are that they :

    describe some coherent system function;

    may be large or small;

    achieve a discrete goal for the actor;

    Other possible properties include :

    specifying actor intention in using the system;

    capturing pre- and post-conditions;

    defining alternate courses to the main flow of actions;

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 6 2

    Use Cases

    Use Cases Use Cases specify, satisfy, realise,

    and/or encapsulate functionalrequirements

    Provide efficient communicationmechanism between end users

    and developers.

    Provide a basis for design activity.

    Use Cases define system requirements, and therefore systemtest requirements

    Define how a goal succeeds or fails.

    Provide a framework for constraints and modes models.

    Use Cases define testable system requirements from

    an external perspective

    Use Cases define testable system requirements from

    an external perspective

    Use Case Name

  • 8/13/2019 00 T2 Moreland

    63/2022008, ARTiSAN Software Tools 63

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 63

    Typical Use Cases

    Local operator

    RemoteOperator

    AmmoniaSystem

    Handle Alarm

    Stop

    Compressor

    Start Up Plant

    Shutdown

    Plant

    MaintainGasPressure

    StartCompressor

    includeinclude

    include

    include

    include

    extend

    extend

    extend

  • 8/13/2019 00 T2 Moreland

    64/2022008, ARTiSAN Software Tools 64

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 64

    Systems Engineering Use Cases

    Local operator

    RemoteOperator

    Ammo niaSystem

    Power

    Maintainer

    SystemInstaller

    SafetyEngineer

    Start Up Plant

    Shutdown

    Plant

    Maintain GasPressure

    Power On Power Fail

    Calibrate

    Sensors

    Replace SystemComponents

    Install System

    Run SiteAccep tance Tests

    Power Off

    Alarm

    Verification Tests

    MonitorSystem

    SafetyInspection

    include

    include

  • 8/13/2019 00 T2 Moreland

    65/2022008, ARTiSAN Software Tools 65

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 65

    Use Case Organisation

    Multiple-Levels of Use Cases

    Use Case Diagrams can be organisedaround different levels of abstraction

    from the System of Systems perspectiveall the way to Use Cases supported by aspecific Sub-System.

    Organisation by Domain

    The lowest level of abstraction (i.e. theSub-System level) encapsulates all theservices (Use Cases) provided by a

    specific domain.

    PilotPrimary Actor

    Mission Plan

    Secondary Actor

    CommanderSecondary Actor

    NavigatorPrimary Actor

    Bombadier

    Primary ActorEquivalent

    Time

    Primary Actor

    Power

    Primary Actor

    Power UpCold

    Store

    Information

    Load Mission

    ContinuousBuilt-InTest

    Communicate

    ExecuteMission

    Power UpBuilt-InTest

    Power UpWarm

    PowerUp

    Shutdown

    include

    include

    include

    include

    include

    include

    include

    SeeExecute Mission Use Case Diagram

    SeeStore InformationUse Case Diagram

    PilotPrimaryActor

    Navigator

    PrimaryActorBombadier

    PrimaryActorEquivalent

    Store Present

    Position

    Store NavigationInformation

    StoreInformation

    StoreTargetDestination

    StoreSelectedWeaponType

    StoreMarkpoint

    Store FixError

    O n -T o p Fi x H UD F i x

    RADARFix

    On-Top Mark

    HUDMark

    RADARMark

    StoreWeapons

    Information

    ombadier Use Cases

    avigatorUse Cases

    nynumber ofUseCaseDiagramscanbe createdtokeepthediagramstidy. Thisdiagramshows howdifferent

    types ofinformationcanbe storedithinthe systemand bywhom.

    System

    ofSystems

    System

    Sub-

    System

    Pilot

    Deploy

    Weapon

    Store Target

    Destination

    Store Selected

    Weapon Type

    Store GeodeticPoint

    include

    include

    include

  • 8/13/2019 00 T2 Moreland

    66/2022008, ARTiSAN Software Tools 66

    Introduction to SysML

    Slide 66

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    C opyright 2006 ARTISAN Software Tools All Rights Reserved

    A c t i v i t y D iag r a m s A c t i v i t y D i ag r a m s

  • 8/13/2019 00 T2 Moreland

    67/2022008, ARTiSAN Software Tools 67

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 67

    SysML Taxonomy of Diagrams

    Diagram

    Structure Behavior

    Block

    Definition

    Internal

    Block Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

  • 8/13/2019 00 T2 Moreland

    68/2022008, ARTiSAN Software Tools 68

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 6 8

    Activity Modelling - Overview

    Activity modelling emphasizes the inputs, outputs, sequences,and conditions for coordinating other behaviors. (SysML)

    behavior as in something the system does

    describes flow of activity and data

    can link activity elements to owning block

    An activity diagram is owned by an activity and describes the detailof that activity

    Useful for many purposes, including:

    Exploring system functionality

    Human/subsystem communication modelling

    Data/item flow modelling

    General flow of control modelling

    etc.

    Activity modeling is one of the principal means for describing behavior in

    SysML. This behavior can be linked with structural modeling (blocks)

    through allocations which will be covered later in the course.In practice, activity diagrams can be used for a surprisingly wide variety of

    modeling purposes. For systems engineering, exploring system functionality

    is one of the principal uses of these diagrams.

  • 8/13/2019 00 T2 Moreland

    69/2022008, ARTiSAN Software Tools 69

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 6 9

    SysML Activity Modelling

    SysML activity modelling is based on, and inherits muchfrom, UML 2.0 activity modelling

    Key SysML extensions are :

    Stronger semantics for activity decomposition

    Control as data

    Continuous systems

    Probability

    Although SysML adopts much of the UML activity model, in this section

    well consider SysML activity modeling as a whole, not distinguishing

    between which aspects are inherited and which are extensions.

  • 8/13/2019 00 T2 Moreland

    70/2022008, ARTiSAN Software Tools 70

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 0

    Activities

    Represent a unit of behavior Specifies sequencing of subordinate actions

    Can be parameterized

    activityparameter

    act name

    initial node

    activity final

    action

    decision

    An activity is the specification of parameterized behavior as the coordinated

    sequencing of subordinate units whose individual elements are actions.

    [UML]

  • 8/13/2019 00 T2 Moreland

    71/2022008, ARTiSAN Software Tools 71

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 1

    a2 : Activity 2 a3 : Activity 3

    act [activity] Activity 1

    Activity Decomposition

    activityActivity 1

    activityActivity 2

    activityActivity 3

    1

    1

    a21

    1

    a3

    bddActivity Breakdown

    Definition Use

    Activity decomposition can be modeled on block definition diagrams Allows initial functional decomposition independent of physical structure Allocation of activities to blocks and parts can be done later

    action name

    An important aspect of SysML activity modeling is the principle that

    activities can be treated like classes or blocks with decomposition and

    association relationships modeled on a block definition diagram. The activitydiagram for that activity can then show instances of the sub-activities, where

    role names on the bdd become the instance names on the activity diagram.

    The meaning of activity decomposition is better defined in SysML (than in

    UML). For example, SysML specifies that if a composite activity is

    terminated then any currently executing part activities are also terminated.

  • 8/13/2019 00 T2 Moreland

    72/2022008, ARTiSAN Software Tools 72

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 2

    Action Node

    Represents a single step within anactivity

    not further decomposed

    execution starts on entry to the actionnode

    and exit occurs when the execution is

    completed

    Callbehavior is a variant an action node showing a behavior

    invocation typically a part activity (activity

    name may be hidden)

    can be linked to a Block operation

    action name : behavior name

    action name

    These are one of the principle components of activity diagrams. Each action

    node defines a single step within the owning activity.

    Because activity diagrams can be used in a variety of situations, the wording

    of the text can be whatever is best suited to the specific situation.

    In general, actions are atomic (i.e. not further decomposed). Where the

    action represents a complete sub-activity, typically a part activity on a bdd,

    a Callbehavior action is used. This normally has both the bdd role name and

    the part activity name displayed, although the latter can be hidden. Activities

    can be linked with Block operations these operations are then the

    mechanism through which the activity is invoked.

  • 8/13/2019 00 T2 Moreland

    73/2022008, ARTiSAN Software Tools 73

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 3

    Object Node

    Represents an instance of a block or data type

    helps to define flow in an activity (i.e. what flows)

    provides input to and/or is output from an action node

    if composite part of activity, then destroyed when activity completed

    multiplicity must include 0 instance may not exist throughout activity

    a2 :Activity 2 a3: Activity 3

    b1 :Block1

    Block

    dt1 :DataType1DataType

    act [activity] Activity 1activityActivity 1

    Block::Block1

    DataTypeDataType1

    activity

    Activity 2

    activity

    Activity 3

    0..1

    1

    b1 0..1

    1

    dt1

    1

    1

    a2 1

    1

    a3

    bddActivity Breakdown - with objects

    object node name

    Object nodes allow the modelling of flow of elements through an activity.

    Activities can be associated with both blocks and data types as well as other

    activities to indicate what type of flow elements relate to the activity. Thiscan be by composition, where the flow element gets destroyed on completion

    of the activity.

  • 8/13/2019 00 T2 Moreland

    74/2022008, ARTiSAN Software Tools 74

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 4

    Control and Object Flows

    (Activity Edge)

    Control Flow Solid or dashed arrow line showing flow of control

    Not in to or out from object nodes

    Can be named

    Object Flow

    Solid arrow line linking objects to other elements

    Can be named

    ction 1 Object

    ction 2

    ction 1 Object

    ction 2

    Control flow Object flow

    Object flow

    Control flow

    Control Flows are another key component of activity diagrams, providing

    sequencing information. Object flows are only ever used with object nodes.

    Both type of flows can be named if required.

    Activity Edge is the formal name for both type of flow.

    For those familiar with UML activity diagram modeling, note that the

    solid/dashed convention is reversed in SysML.

  • 8/13/2019 00 T2 Moreland

    75/2022008, ARTiSAN Software Tools 75

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 5

    Pin vs. Object Node Notation

    Pins are kinds of Object Nodes Used to specify inputs and outputs of actions

    Typed by a block or data type

    Object flows between pins have two diagrammatic forms

    Pins shown with object flow between

    Pins hidden and object node shown with flow arrows in and out

    ObjectNodePins (must be samename & type)

    AJM4

  • 8/13/2019 00 T2 Moreland

    76/202

    lide 75

    AJM4 ri ht-hand dia ram should have action:activit like the left-hand one.Alan Moore, 5/17/2006

  • 8/13/2019 00 T2 Moreland

    77/2022008, ARTiSAN Software Tools 76

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 6

    Accept Event shows a signal that initiates activity in action node

    may also link to action object (sender)

    Examples:

    Send Signal and Accept Event

    Send Signal

    shows a signal sent at completion of action node activity

    may also link to action object (receiver)

    Send Signal

    Accept Event

    re-open door

    door interruptDoor

    Signal send and accept event boxes correspond to the concept of a signal event

    on a state diagram. The send represents a signal sent at completion of the

    activity in the preceding action node; an accept represents a signal that triggersthe activity of the subsequent action node.

    A send may also have an object flow going to the object that receives the signal;

    an accept may have an object flow coming from the object that sends the signal.

    Dragging an RtS event onto an activity diagram creates a send signal; its

    properties can then be used to change it to an accept event if required.

  • 8/13/2019 00 T2 Moreland

    78/2022008, ARTiSAN Software Tools 77

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 77

    Interruptible Activity Region

    A bounded region of activity thatcan be terminated prior tocompletion

    regionboundary

    interrupting event

    interrupting

    edge

    This feature, new to UML 2.0, allows you to explicitly identify areas of activity

    where interrupts are allowed to terminate the activity in the region before

    completion.In RtS the boundary is a frame box with View Options set to show dashed lines

    (strictly, it should have rounded corners). The interrupting edge is a control flow

    with waypoints added.

  • 8/13/2019 00 T2 Moreland

    79/2022008, ARTiSAN Software Tools 78

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 8

    Activity Diagram Model Elements

    Control Nodes

    Coordinate flow in an Activity

    Initial Node denotes start of flow in an Activity

    Activity Final Node denotes end of flow in an Activity

    Flow Final Node denotes termination of a flow

    No effect on other flows in the Activity

    Decision Node provides choice of outgoing flows

    One incoming and multiple outgoing flows

    Merge Node brings together multiple alternate flows

    Multiple incoming and one outgoing flows

    Fork Node splits a flow into multiple concurrent flows

    One incoming and multiple outgoing flows Join Node synchronizes multiple flows

    Multiple incoming and one outgoing flows

    Control Nodes are activity nodes used to provide coordination between other

    nodes.

    Note that an Activity Final Node denotes end of flow in the entire Activity,

    whereas a Flow Final Node only terminates one flow, and has no effect on other

    flows (which might still be in effect) in the Activity.

    The difference between a Decision Node and a Fork Node lies in the fact that in a

    Decision Node, a token arriving at the node will traverse only one of the multiple

    outgoing flows, whereas in a Fork Node, the arriving token is duplicated across

    the outgoing edges, each of which is traversed concurrently.

    Similarly, a Merge Node is not used to synchronize multiple incoming flows, but

    to accept one among several alternate flows, whereas a Join Node synchronizes

    multiple incoming flows.

  • 8/13/2019 00 T2 Moreland

    80/2022008, ARTiSAN Software Tools 79

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 7 9

    Activity Partition (Swimlanes)

    Named regions separated by horizontal or vertical lines

    Define a location for diagram items within their region

    Can be nested

    Can be used to represent: individuals or groups

    geographical locations

    systems or subsystems blocks or parts

    etc.

  • 8/13/2019 00 T2 Moreland

    81/2022008, ARTiSAN Software Tools 80

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 80

    Nested Swimlanes

    Can be nested to any depth Can link to model item

    uses model item name

    Final Flow terminates

    flow of activity in that

    swimlane

  • 8/13/2019 00 T2 Moreland

    82/2022008, ARTiSAN Software Tools 81

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 1

    Activity Diagram

    Tips: Use swim lanes as placeholders for a role or responsibility.

    Allocate activities to each swim lane.

    Determine data and control f low between activities within andacross swim lanes.

    Determine any synchronisation required across swim lanes.

    Determine communication infrastructure to facilitate data andcontrol flow across swim lanes.

  • 8/13/2019 00 T2 Moreland

    83/2022008, ARTiSAN Software Tools 82

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 82

    Explicit Allocation of Behavior

    to Structure Using Swimlanes

    Activity Diagram

    (without Swimlanes)

    Activity Diagram(with Swimlanes)

  • 8/13/2019 00 T2 Moreland

    84/2022008, ARTiSAN Software Tools 83

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 3

    Other Activity Related Stereotypes

    nobuffer applied to object nodes or parameters

    indicates that items arriving at action may be lost

    overwrite applied to object nodes or parameters

    indicates that arriving item replaces previous item

    valid also for FIFO/LIFO queues

    optional applied to parameters

    indicates that action may begin even without parameter arriving

    rate applied to object flow or parameter specifies rate at which items sent/received over object flow

    or rate at which items arrive at parameter while action is executing requires {streaming} type parameter

    These additional stereotypes are provided to bring greater detail into the

    SysML model. Full details are provided in the SysML spec..

  • 8/13/2019 00 T2 Moreland

    85/2022008, ARTiSAN Software Tools 84

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 4

    Probability

    probability stereotype applied to

    outgoing edges (flows) from decision orobject nodes

    Defines value (range: 0 1) for

    probability of any flow being taken

    Total of values from one node must

    equal 1

    Can also be applied to output parameter

    set from node With same value constraints

    action 1

    action 2a action 2b

    action 1

    action 2a action 2b

    probabilityprobabilityp (x )

    probabilityprobability1-p(x)

    When the probability stereotype is applied to edges coming out of decision

    nodes and object nodes, it provides an expression for the probability that the

    edge will be traversed. These must be between zero and one inclusive, andadd up to one for edges with same source at the time the probabilities are

    used. When the probability stereotype is applied to output parameter sets,

    it gives the probability the parameter set will be given values at runtime.

    These must be between zero and one inclusive, and add up to one for output

    parameter sets of the same behavior at the time the probabilities are used.

    [SysML]

  • 8/13/2019 00 T2 Moreland

    86/2022008, ARTiSAN Software Tools 85

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 5

    Activity Diagram Distiller Example:

    Activity Structure

    Block

    values

    cal/sec : dQ/dt

    Item Types::HeatBlock

    valuesdegrees C : tempgm/sec : massFlowRatekg/gm^2 : press

    Item Types::Residue

    ActivityHeat Water

    ActivityDistill Water

    ActivityBoil Water

    ActivityCondense Steam

    ActivityDrain Residue Block

    Item Types::H2O

    BlockProperty cal/gm : specificHeat

    BlockProperty cal/(gm*deg C) : latentHeat

    Remove Latent Heat of Vaporisation ()

    Add Latent Heat of Vaporisation ()

    1

    1

    hotDirty : H20

    1

    1

    pure : H2O

    1

    1

    recovered : Heat 1

    1

    hiPress : Residue

    1

    1

    loPress : Residue1

    1

    external : Heat1

    1

    steam : H2O

    1 a1 : Heat Water

    1 a2 : Boil Water

    1 a3 : Condense Steam 1a4 : Drain Residue

    1

    1

    coldDirty : H2O

    bdd [package]DistillerBehavior [Distiller Behaviour Breakdown]

  • 8/13/2019 00 T2 Moreland

    87/202

  • 8/13/2019 00 T2 Moreland

    88/2022008, ARTiSAN Software Tools 87

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 7

    Activity Diagram Distiller Example:

    I/O Driven: Continuous Parallel Behavior

    act [activity]Distill Water [Continuous Parallel Behavior]

    pure : H2O

    [Liquid]

    external : Heat

    coldDirty : H2O

    [Liquid]loPress : Residue

    a1 : Heat Water a3 : Condense Steam

    a2 : Boil Water

    a4 : Drain Residue

    recovered : Heat

    hotDirty : H20[ Liquid]

    steam : H2O[G as ]

    hiPress : Residue

    pure : H2O

    [Liquid]

    external : Heat

    coldDirty : H2O

    [Liquid]loPress : Residue

    a1 : Heat Water a3 : Condense Steam

    a2 : Boil Water

    a4 : Drain Residue

    recovered : Heat

    hotDirty : H20[ Liquid]

    steam : H2O[G as ]

    hiPress : Residue

  • 8/13/2019 00 T2 Moreland

    89/2022008, ARTiSAN Software Tools 88

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 8 8

    act [activity] Distill Water [Simultaneous Behavior w ith Allocations]

    hx1

    ShutDown

    steam : H2O[G as ]

    continuous

    hotDirty : H20

    [ Liquid]

    continuous

    recovered : Heat

    a3 : Condense Steam

    streaming

    a1 : Heat Water

    streaming

    coldDirty : H2O[ Liquid]

    continuous

    external : Heat

    continuous

    : Heat Exchanger

    allocate

    drain

    a4 : Drain Residue

    pure : H2O

    [Liquid]

    continuous

    loPress : Residue

    continuous

    :Valve

    allocate

    bx1

    a2 : Boil Waterstreaming

    hiPress : Residue

    continuous

    : Boi ler

    allocate

    Activity Diagram Distiller Example:

    (Allocation with Swimlanes): DistillWater

    Parts

  • 8/13/2019 00 T2 Moreland

    90/2022008, ARTiSAN Software Tools 89

    Introduction to SysML

    Slide 89

    I n t r o d u c t i o n t o S y s M LI n t r o d u c t i o n t o S y s M L

    C opyright 2006 ARTISAN Software Tools All Rights Reserved

    I n t e ra c t io n s I n t e ra c t io n s

  • 8/13/2019 00 T2 Moreland

    91/2022008, ARTiSAN Software Tools 90

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 90

    SysML Sequence Diagram

    Diagram

    Structure Behavior

    Block

    Definition

    Internal

    Block Package Activity

    Use Case

    State

    Machine

    Sequence

    New for

    SysML

    Requirements

    Parametric

    Modified

    from UML

    Same

    as UML

    The Sequence Diagram is re-used from UML and captures certain aspects of

    behavior.

  • 8/13/2019 00 T2 Moreland

    92/2022008, ARTiSAN Software Tools 91

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 9 1

    Usage Scenarios Overview

    Usage Scenarios are created for two reasons:

    Understanding the requirements in more detail bycreating a model of the end-users problems (Modellingthe Problem)

    Typically however, after defining an initial SystemArchitecture and exploring the capabilities of the

    system (captured as Use Cases) youll want to see howthe capabilities are delivered by the components withinthe System Architecture (Modelling the Solution).

  • 8/13/2019 00 T2 Moreland

    93/2022008, ARTiSAN Software Tools 92

    Introduction to SysML

    Copyright 2006ARTISAN Software Tools All Rights ReservedSlide 92

    What is a scenario?

    Success scenarios Everything goes well and the actor achieves the Use Case goal

    Also called sunny day scenarios.

    Defines what is supposed to happen, so that the stakeholders can

    agree prior to investigating everything that can go wrong.

    Failure scenarios

    Models failure conditions and their consequences.

    May map to full blown Use Cases that will extend the main UseCase, or

    may involve a simple variation on the normal sequence. Scenarios are expressed as interaction diagrams

  • 8/13/2019 00 T2 Moreland

    94/2022008, ARTiSAN Software Tools 93

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 9 3

    Description

    part a:Block A

    Blockpart b

    :Block B

    Blockpart c

    :Block C

    BlockActor1

    seq signal1 {10ms}

    par

    seq message 1 {250ms}

    loop

    seq message 2break

    seq

    max.: {100ms}

    message 2end loop

    also par

    alt

    seq message 3

    seq message 4( param )end alt

    seq signal2

    end par

    sdSD Concept

    Sequence Diagrams

    Describe usecase or scenariosequence

    Specify timingbudgets andconstraints

    Define loops andconditional pathsfor systemfunctionality

    Demonstrateparallel andsynchronousfunctionality

  • 8/13/2019 00 T2 Moreland

    95/2022008, ARTiSAN Software Tools 94

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 94

    Interaction Fragment

    a piece of interaction [UML] e.g. part of asequence diagram

    no defined notation in UML/SysML

    represented by an interaction frame in Studio

    Loosely defined in the UML as a piece of interaction, it has no specified

    notation. In Studio we have made use of the interaction frame element to allow

    the scoping of the required piece of interaction.By default, the name given to the fragment is taken from the first description step

    covered by the frame, but it can be renamed.

  • 8/13/2019 00 T2 Moreland

    96/2022008, ARTiSAN Software Tools 95

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedSlide 95

    Sequence Diagram - Fragments

    A Fragment can be drawn around a set of interaction messages.

    Fragments are given default names (initalics) depending on

    their action:

    Weak Sequencing (seq) denoting the order in which interactionsoccur (most Sequence Diagrams are by default weakly sequenced).

    Loop (loop) denoting a repeated order of interactions.

    Alternative (alt) denoting a choice of behavior.

    Strict Sequencing (strict) denoting a specific order of interactions.

    Parallel (par) denoting that the fragment contains parallel execution(used for concurrent systems).

    Critical Region (critical) denoting an un-interruptible order of

    interactions. Option (opt) denoting execution of the fragment or not.

    Break (break) denoting the contents of this fragment is executedinstead of the rest of the fragment.

    Negative (neg) denoting an invalid order of interactions.

    Reference (ref) another interaction diagram.*

    These default names can be replaced by something more meaningful if required

    in Studio.

  • 8/13/2019 00 T2 Moreland

    97/2022008, ARTiSAN Software Tools 96

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 96

    Sequence Diagram ExampleFragments

    Description

    part a:Block A

    Block

    part b:Block B

    Block

    part c:Block C

    BlockActor1

    seq signal1 {10ms}

    par par

    seq message 1 {250ms}

    loop loop

    seq message 2break

    seq

    max.: {100ms}

    message 2

    end loop

    also par

    alt altseq message 3

    seq message 4

    end alt

    seq signal2

    end par

    sdSD Fragments

  • 8/13/2019 00 T2 Moreland

    98/2022008, ARTiSAN Software Tools 97

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 97

    Interaction Use

    a reference from a step on one sequence diagram to aninteraction (represented by another sequence diagram in Studio)

    allows partitioning of the interaction model e.g. a single use case

    can be split over several diagrams

    This is a powerful facility within UML 2.0 that provides behavioural

    decomposition. With Studio an interaction use can be represented as a reference

    frame linked to another diagram. The referenced diagram can be anothersequence diagram, or it can be an activity diagram, and it can be opened through

    the context menu of the frame.

  • 8/13/2019 00 T2 Moreland

    99/2022008, ARTiSAN Software Tools 98

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 98

    Part Decomposition

    a reference from an interaction entity (not necessarily a part) on onediagram to another diagram

    allows decomposition of the interaction model e.g. the internalinteractions taking place within the entity, as a result of a message,can be shown separately

    Similar in principle to an interaction occurrence, this form of decomposition

    reflects the structural decomposition represented on internal block diagrams.

    In the above example the referenced Start Boiler [detail] diagram would showthe interactions taking place between the component parts within the Boiler part

    of the Distiller in order for the Boiler part to implement the powerOn operation.

    Typically then, there would be a internal block diagram (ibd) that would show the

    interaction entities shown above with connectors consistent with the above

    messaging, and there would be another internal block diagram showing the

    internal component parts of the Boiler and their connectors. It is these internal

    parts and their messaging that would be shown in the Start Boiler [detail]

    diagram.

  • 8/13/2019 00 T2 Moreland

    100/2022008, ARTiSAN Software Tools 99

    Introduction to SysML

    C opyright 2006 ARTISAN Software Tools All Rights ReservedSlide 99

    Part Decomposition - Example

    Description:DistillerBlock

    Distiller.ui1:Control PanelBlockProperty

    Distiller.bx1:Boilerref Start Boiler

    BlockPropertyUser

    start up StartUpstart Distiller TurnOn

    start Boiler powerO n

    Description

    :Boiler

    BlockBoiler.heater:Element

    BlockPropertyBoiler.vOverFlow:Valve

    BlockPropertyBoiler.vResidue:Valve

    BlockProperty

    power on boiler powerOn

    witch on heater onopen overflow open

    open residue open

    sd Start Boiler

    This example illustrates interaction modelling at 2 different levels of abstraction:

    black box (top diagram) and white box levels. The lower diagram is modelling

    what happens inside the boiler on receipt of the powerOn message.

    Note the names of the various BlockProperty parts, indicating their parent block,

    as well as their block type.

  • 8/13/2019 00 T2 Moreland

    101/2022008, ARTiSAN Software Tools 100

    Introduction to SysML

    Copyright 2006 ARTISAN Software Tools All Rights ReservedS l i d e 1 0 0

    Description:C ontr o l Pa ne l

    Block:C ontr o l l e r

    Bl oc k Us er

    press start StartUp

    turn on Distiller p w r O nshow powe