Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623...

27
Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623 November 30, 2004
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    0

Transcript of Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623...

Systems Engineering Project:System Validation and Verification

Using SDL

Ron Henry

ENSE 623

November 30, 2004

2

Formalisms for Automated V&V

Several standard notations have evolved in support of automated validation and verification:

– Specification and Description Language (SDL)– Message Sequence Charts (MSC)– Test and Test Control Notation (TTCN)

These formalisms are considered complementary

– MSCs (familiar from UML sequence diagrams) are used both to specify requirements and to trace execution

– SDL is used to specify the system architecture and state-machine model

– TTCN is an abstract representation for test cases

3

Characteristics of SDL

Major language features– Formal, hierarchical data flow diagrams– Extended finite state machines (EFSMs)– Local variables– Timers

SDL Evolution– Widely used in telecommunications industry– First ITU Z.100 recommendation in 1980– Updated every 4 years– SDL-92 added support for object-oriented features– SDL-2000 adds support for hierarchical EFSMs (equivalent

to Statecharts)

4

Commercial Tools for SDL-Based V&V

Tools can provide a variety of functions– Graphical editing & syntax checking– Model checking (static analysis)– Executable simulation & animation of a model– Validation of a model against a use case– Specification-based generation of test cases

Telelogic appears to be market leader in this area– Tau/SDL is one of the leading tools– ObjectGeode also acquired by Telelogic– SAFIRE-SDL by Solinet

Tau/SDL was used for this project– 15 licenses available under arrangement with UMD (handled

through Prof. Basili in CS dept.)– C compiler (Borland recommended) must be installed in

order to generate executables for simulation and validation

5

General Methodology

6

Remote Observing Platform: System Context

7

Remote Observing Platform: Domain Model

8

MSC TurnOnInstrument

9

MSC TurnOffInstrument

10

MSC Observe

11

Tau/SDL Model Structure

12

Observatory System Diagram

system Observatory 1(1)SIGNALBufferDumpComplete(charstring),DataAvailable(integer),DownloadData,DumpDataBuffer(charstring),Expose(charstring, Integer, Integer,Integer, Integer, Duration, charstring),ExposureComplete(charstring),GSLock,InstrumentData(integer),InstrumentOn(charstring),InstrumentOff(charstring),InstrumentReady(charstring),InstrumentPowerOff(charstring),PhotonArrival(integer),Slew (integer, integer),SlewComplete;

InstrumentModule

SupportModule

TelescopeBlock

C1

InstrumentOn,InstrumentOff,Expose,DumpDataBuffer

C2

InstrumentReady,InstrumentPowerOff,ExposureComplete,BufferDumpComplete

C9

InstrumentData

C5

GSLock

C7

Slew

C3

DownloadData

C8PhotonArrival,SlewComplete

C6

PhotonArrivalC4

DataAvailable

13

InstrumentModule Block Diagram

block InstrumentModule 1(1)SIGNALAcquireGS,DoExposure (Duration, charstring),DropLock,GSLocated,LocateGS (integer, integer),LockEstablished;

InstManagerBlock

GuiderBlock

CAM1

C1IM1

InstrumentOn,InstrumentOff,Expose,DumpDataBuffer

IM7

LocateGS,AcquireGS,DropLock

IM8

GSLocated,LockEstablished

IM2

InstrumentReady,InstrumentPowerOff,ExposureComplete,BufferDumpComplete

C2

IM3

SlewC7 IM9

InstrumentOn,InstrumentOff,DoExposure,DumpDataBuffer,PhotonArrival

IM10

InstrumentReady,InstrumentPowerOff,ExposureComplete,BufferDumpComplete,InstrumentData

IM5

InstrumentDataC9

C5IM6

GSLock

C8IM4

PhotonArrival,SlewComplete

14

CAM1 Block Diagram

block CAM1 1(1)SIGNALOpenShutter, CloseShutter, ShutterOpen, ShutterClosed,PositionFilter (charstring), HomeFilter, FilterInPlace,ReadOut, ExpComplete, ROComplete, Integrate (Duration);

Shutter(1,1):Shutter

CameraManager(1,1):HomingCameraManager

InstElectronics(1,1):InstElectronics

DataBuffer(1,1):DataBuffer Detector(1,1):

Detector

FilterAssembly(1,1):CAM1FilterSubsystem

CameraManager HomingCameraManager

FIlterSubsystem CAM1FilterSubsystemDetector

InstElectronicsDataBuffer Shutter

IM10

IM9

CB17 PhotonArrival

SH4

CB6

ShutterOpen,ShutterClosed

SH2CM6

CB3

InstrumentOn, InstrumentOff

CM3

IE1

CB4

InstrumentReadyIE2

CM4

CB2

InstrumentReady, InstrumentPowerOff,ExposureComplete, BufferDumpComplete CM2

CB5

OpenShutter, CloseShutter

CM5SH1

CB14

DumpDataBufferCM14

DB2

CB16

InstrumentData

DB4

CB15

BufferDumpComplete

DB3

CM15

CB9

Integrate,ReadOut

CM9

DT1

CB10

ExpComplete,ROComplete

DT2

CM10

CB13

InstrumentDataDT4

DB1

CB7

PositionFilter,HomeFilter

CM7

FA1

CB8

FilterInPlaceFA2

CM8

CB12

PhotonArrivalFA4DT3

CB11 PhotonArrival

SH3

FA3

CB1

InstrumentOn, InstrumentOff, DoExposure,DumpDataBuffer

CM1

15

Shutter Process Diagram

process type Shutter 1(1)DCLCounts Integer;

VIRTUAL

Closed

VIRTUALOpenShutter

ShutterOpen

Open

Open

VIRTUALPhotonArrival(Counts)

PhotonArrival(Counts) via SH3

-

VIRTUALCloseShutter

ShutterClosed

Closed

SH1

OpenShutter,CloseShutter

SH2

ShutterOpen,ShutterClosed

SH3

PhotonArrival

SH4

PhotonArrival

16

CameraManager Process Diagram

process type CameraManager 1(1)DCLExpFilter charstring, ExpTime Duration, SelfSI charstring;

VIRTUAL

PoweredOff

VIRTUALInstrumentOn(SelfSI)

InstrumentOn(SelfSI) via CM3

WarmingUp

VIRTUALInstrumentReady(selfSI)

InstrumentReady(selfSI) via CM2

Ready

*

VIRTUALInstrumentOff(SelfSI)

InstrumentOff(SelfSI) via CM3

InstrumentPowerOff(SelfSI) via CM2

PoweredOff

Ready

VIRTUALDoExposure(ExpTime,ExpFilter)

OpenShutter

OpeningShutter

VIRTUALShutterOpen

PositionFilter(ExpFilter)

MovingFilter

MovingFilter

VIRTUALFilterInPlace

Integrate (ExpTime)

Exposing

Exposing

VIRTUALExpComplete

CloseShutter

ClosingShutter

VIRTUALShutterClosed

ReadOut

ReadingOut

VIRTUALROComplete

ExposureComplete(selfSI)

Ready

VIRTUALDumpDataBuffer(selfSI)

DumpDataBuffer(selfSI)via CM14

Dumping

VIRTUALBufferDumpComplete(SelfSI)

BufferDumpComplete(selfSI)via CM2

Ready

CM1

InstrumentOn,InstrumentOff,DoExposure,DumpDataBuffer

CM7

PositionFIlter

CM8

FilterInPlaceCM2

InstrumentReady,InstrumentPowerOff,ExposureComplete,BufferDumpComplete

CM9

Integrate,ReadOut

CM3

InstrumentOn,InstrumentOff

CM10

ExpComplete,ROComplete

CM4

InstrumentReady

CM14

DumpDataBuffer

CM15

BufferDumpCompleteCM5

OpenShutter,CloseShutter

CM6

ShutterOpen,ShutterClosed

17

Inheritance in SDL: HomingCameraManager

inherits CameraManager;

process type HomingCameraManager 1(1)

Exposing

REDEFINEDExpComplete

HomeFilter

HomingFilter

FilterInPlace

CloseShutter

ClosingShutter

CM7

HomeFilter

18

Tau/SDL Simulator User Interface

19

MSC Observe: Process-Level Simulator Trace

20

Tau/SDL Validator User Interface

21

Tau/SDL Validator Report Summary

22

Tau/SDL Validator Trace: Implicit Signal Consumption

23

Model Validation: MSC TurnOnInstrument

24

Model Validation: MSC Observe

25

MSC-Based Testing: TTCN Structure

26

Test Case Generated from Observe MSC

27

V&V with SDL: Project Summary

This project has demonstrated a robust framework for V&V based on SDL– Hierarchical data flow diagrams are well suited to

formalizing complex system architectures– V&V is accomplished through following steps:

1. Basic usability testing and sanity checking is done manually using a simulator

2. SDL model is automatically validated against use cases in the form of MSCs

3. MSCs are then used to generate TTCN test cases

Tau/SDL is a powerful tool, but its complexity presented challenges– Not all features worked– Generated executables subject to unexplained crashes– Error messages not always clear