systems engineering project: system validation and verification using sdl ron henry ense 623...
Post on 21-Dec-2015
223 views
TRANSCRIPT
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
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
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