Upload
regina-johnston
View
221
Download
0
Embed Size (px)
DESCRIPTION
The TOSCA Consortium GMD Fokus BT EricssonTelelogic IONA University of Lund University of Strathclyde CSELT S3 Teltec
Citation preview
Creating Creating Telecommunication Telecommunication Services based on Object- Services based on Object- Oriented Frameworks and Oriented Frameworks and SDLSDLDr Richard SinnottDr Richard Sinnott
GMD FokusGMD FokusBerlin, GermanyBerlin, Germany
ISORC, St. Malo, May 1999
IntroductionIntroductionService creation environments should:Service creation environments should:
– reduce time to market reduce time to market – reduce development costsreduce development costs– allow for higher service qualityallow for higher service quality
TOSCA project is developing tools and TOSCA project is developing tools and techniques to address this based ontechniques to address this based on– object-oriented frameworks object-oriented frameworks – formal techniquesformal techniques
The TOSCA ConsortiumThe TOSCA ConsortiumGMD FokusGMD Fokus
BTBT
EricssonEricssonTelelogicTelelogic
IONAIONA
University University of Lundof Lund
University University of Strathclydeof Strathclyde
CSELTCSELT
S3S3 TeltecTeltec
ISORC, St. Malo, May 1999
Overview of PresentationOverview of PresentationOutline of Service Creation inTOSCA Outline of Service Creation inTOSCA Creation of Object-Oriented FrameworksCreation of Object-Oriented FrameworksSpecialisation of Frameworks to ServicesSpecialisation of Frameworks to ServicesRelating the Model and ImplementationRelating the Model and ImplementationConclusionsConclusionsDemo(?)Demo(?)
ISORC, St. Malo, May 1999
Service Creation in TOSCAService Creation in TOSCAObject-oriented frameworks based around Object-oriented frameworks based around
TINA service session componentsTINA service session components– allow for re-use of designallow for re-use of design– fixed flexibility points for specialisationfixed flexibility points for specialisation
Specialisation done through Specialisation done through paradigm toolparadigm tool– graphical and intuitive tool that abstracts graphical and intuitive tool that abstracts
from framework complexity/representationfrom framework complexity/representation
ISORC, St. Malo, May 1999
Overview of ApproachOverview of Approach
SDL FW C++/CORBA FW
ParadigmTool
SDL ServiceModel
C++/CORBA Service Impl.
SDL code generated impl.
CORBA BASED SERVICE PLATFORM
focus of focus of presentationpresentation
??
??
ISORC, St. Malo, May 1999
Introduction to TINAIntroduction to TINAODP based architecture for developing ODP based architecture for developing
telecommunications services telecommunications services chatline, multimedia conference, video phone, chatline, multimedia conference, video phone,
neighbourhood watch, ... etcneighbourhood watch, ... etc Focus mostly on computational aspectsFocus mostly on computational aspects
objects and interfaces identified objects and interfaces identified ODL and IDL providedODL and IDL provided
ISORC, St. Malo, May 1999
TINA Object Definition TINA Object Definition LanguageLanguage
Extends IDL (strict superset)Extends IDL (strict superset)– supports objects with multiple interfacessupports objects with multiple interfaces
required required and and supported supported interfacesinterfaces stream stream and and operational operational interfacesinterfaces initial initial interfaceinterface
supports object groupssupports object groups contracts contracts managersmanagers
ISORC, St. Malo, May 1999
TINA SessionsTINA SessionsCentral concept to TINA is a Central concept to TINA is a sessionsession
– access sessionaccess session: how to access services : how to access services that have been subscribed tothat have been subscribed to
– service sessionservice session: how to execute and : how to execute and control services that have been accessedcontrol services that have been accessed
– communication sessioncommunication session: controls network : controls network resources for end to end connectionsresources for end to end connections
ISORC, St. Malo, May 1999
Relation between TINA Relation between TINA SessionsSessions
access session
service session
communication session
SF
SSM ssUAP
user domain user domainprovider domain
ssUAP USM USM
stream connections established
Outline of USM StructureOutline of USM StructureUFSmgr
USPmgr
UFS
USP
generic objects
DynamicWindowHandlers
Invite Window Handler
other handlersssuap
ssmor
otherusms
ISORC, St. Malo, May 1999
Object-oriented FrameworksObject-oriented FrameworksMostly completed models of servicesMostly completed models of services
– include semantics!!!include semantics!!!– developed around TINA ODL/IDLdeveloped around TINA ODL/IDL
Have predefined holes where service Have predefined holes where service creators can add/refine behaviourcreators can add/refine behaviour– start, stop, suspend, resume of start, stop, suspend, resume of useruser
sessionssessions– start, stop, suspend, resume start, stop, suspend, resume serviceservice
sessionssessions
ISORC, St. Malo, May 1999
IDL for USM managerIDL for USM managerinterface i_UFSmgr : i_CO_lifecycle{ void suspendSessionRequest(); void terminateSessionRequest(); void suspendAll(); void requestObject(inout NamedObject obj); oneway void ufsstart(); oneway void ufsstop(); oneway void ufssuspend(); oneway void ufsresume();....} ;
ISORC, St. Malo, May 1999
Mapping Rules for ODL/IDL to SDLMapping Rules for ODL/IDL to SDLODL Structure SDL Mapping
Group type Block typeObject type Block typeInterface type Process typeObject Reference PIdOneway (asynchronous) Operation Signal prefixed with pCALL_Operation (synchronous) Signal pair: the first prefixed with
pCALL_, the second prefixed withpREPLY_ or pRAISE_ (if exception)
Exception Signal prefixed with pRAISE_Basic IDL types, e.g. long, char, float,… SyntypeEnum Newtype with corresponding literalsTypedef SyntypeStruct Newtype with corresponding structureConstant Synonym
ISORC, St. Malo, May 1999
Mapping ODL/IDL to SDLMapping ODL/IDL to SDLCreates two packagesCreates two packages
– name interfacename interface with signal with signal definitions, data types and client stubsdefinitions, data types and client stubs
– name definitionname definition with server skeletons with server skeletons
Behaviour added through Behaviour added through useuse-ing and -ing and inheriting packagesinheriting packages
ISORC, St. Malo, May 1999
Example of Signal MappingExample of Signal Mappingsignal pCALL_i_UFSmgr_suspendSessionRequest;signal pCALL_i_UFSmgr_terminateSessionRequest;signal pCALL_i_UFSmgr_ufsstart;signal pCALL_i_UFSmgr_suspendAll;signal pCALL_i_UFSmgr_requestObject(NamedObject);// and associated pREPLY_ signals – but not for ufsstart (oneway)signallist i_UFSmgr_INVOCATIONS = pCALL_i_UFSmgr_suspendSessionRequest, pCALL_i_UFSmgr_terminateSessionRequest, pCALL_i_UFSmgr_ufsstart, pCALL_i_UFSmgr_suspendAll, pCALL_i_UFSmgr_requestObject..;signallist i_UFSmgr_TERMINATIONS = pREPLY_i_UFSmgr_suspendSessionRequest, pREPLY_i_UFSmgr_terminateSessionRequest, pREPLY_i_UFSmgr_suspendAll, pREPLY_i_UFSmgr_requestObject... ;
Package Name_Interface
ISORC, St. Malo, May 1999
Example of Server MappingExample of Server Mappingprocess type <<package Name_Definition >> i_UFSmgr ;inherits i_CO_lifecycle ;
virtual suspendSessionRequest
virtual ufsstart
dcl ... ;
other virtual procedures here ....
*
ufsstart
-
pCALL_i_UFSmgr_ufsstart
similar format for other procedure calls
ISORC, St. Malo, May 1999
Creating and Checking Creating and Checking FrameworkFramework
Framework behaviour added based on Framework behaviour added based on – informal ODL textinformal ODL text– use cases showing desired behaviour use cases showing desired behaviour
Simulation/animation techniques used to Simulation/animation techniques used to ensure framework has correct behaviourensure framework has correct behaviour- possible since framework flexibility points - possible since framework flexibility points
represented as empty procedures in SDLrepresented as empty procedures in SDL
ISORC, St. Malo, May 1999
cwhRef := call createCWH(FSEPref, self), createdRefs := createdRefs // MkString(cwhRef), ...
dcl createdRefs objRefList, cwhRef objRef, ...; imported procedure createCWH fpar ...;
virtual process type theUFSmgrImp;inherits <<package Name_Definition/block type USM/block type UFS>> i_UFSmgrfpar in FSEPref objRef, ...;
redefined
createdRefs := empty, ...;
WAIT
WAIT
ufsstart
READY
pCALL_i_UFSmgr_ufsstart
[i_UFSmgr_Invocations]
[i_UFSmgr_Terminations]
other signallists
Example of SDL FrameworkExample of SDL Framework
ISORC, St. Malo, May 1999
Specialising FrameworkSpecialising FrameworkFramework specialised through adding Framework specialised through adding
behaviour to flexibility pointsbehaviour to flexibility points– start, stop, suspend, resumestart, stop, suspend, resume
Typical specialisations Typical specialisations – add buttons, windows, etc to ssUAP‘s of add buttons, windows, etc to ssUAP‘s of
session members and have appropriate session members and have appropriate behaviour when pressedbehaviour when pressed
ISORC, St. Malo, May 1999
Creating Videophone Creating Videophone ServiceServiceInformal Videophone Service Informal Videophone Service
RequirementsRequirementsHave two roles: caller and callee Have two roles: caller and callee Caller invites callee (callee cannot invite!)Caller invites callee (callee cannot invite!)When caller quits the service terminatesWhen caller quits the service terminatesWhen callee suspends, they must resume When callee suspends, they must resume
in thirty seconds or they are terminatedin thirty seconds or they are terminated
ISORC, St. Malo, May 1999
Specialising SDL for Caller StartSpecialising SDL for Caller StartRedefined Procedure<<Substructure callerUSM/Block Type theUFS/Block Type theUFSmgr/Process Type theUFSmgrImp>> ufsstart
redefined
oh!theStatus := TypeUnKnown,oh!theObjectType!tag := 'ainvwh'
requestObject(oh)
waitForPiD
pREPLY_i_SPmgr_requestObject(oh)
ISORC, St. Malo, May 1999
Specialising SDL for Suspension andSpecialising SDL for Suspension andResumption of CalleeResumption of Callee
redefinedredefined
Redefined Procedure ufsresume
reset(handlerT)
Redefined Procedure ufssuspend
set(now+30,handlerT)
ISORC, St. Malo, May 1999
...continued...continuedTimer handlerT;suspended
handlerT
pCALL_i_UFSmgr_terminateSessionRequest TO self
-
ISORC, St. Malo, May 1999
Using SDL Service ModelUsing SDL Service ModelSDL model used to SDL model used to
– explore behaviour of service in depth, explore behaviour of service in depth, e.g. to ensure certain properties e.g. to ensure certain properties always/never truealways/never true
Once model checked ok can use itOnce model checked ok can use it– as basis for implementationas basis for implementation– for validating implementationfor validating implementation
ISORC, St. Malo, May 1999
SDL Model for SDL Model for ImplementationImplementationWork on-going on refining code Work on-going on refining code
generation techniquesgeneration techniques– currently support partitioned code currently support partitioned code
generation and usage of C++/CORBA generation and usage of C++/CORBA wrapperswrappers
– working on (and nearing completion!) of working on (and nearing completion!) of IIOP supported, partitioned code IIOP supported, partitioned code generationgeneration
ISORC, St. Malo, May 1999
SDL Model for ValidationSDL Model for Validation
Validation based on Validation based on – deriving (TTCN) abstract test cases from deriving (TTCN) abstract test cases from
SDL modelSDL model• can generate test cases whilst animatingcan generate test cases whilst animating
– converting to executable test suitesconverting to executable test suites– executing test cases through executing test cases through
TTCN/CORBA gateway (TCgate)TTCN/CORBA gateway (TCgate)
ISORC, St. Malo, May 1999
Test Case GenerationTest Case Generation
ISORC, St. Malo, May 1999
Executing Test CasesExecuting Test CasesITEX used to convert ATS to ETS (C-code)ITEX used to convert ATS to ETS (C-code)ITEX GCI allows test cases to be adapted to ITEX GCI allows test cases to be adapted to
particulars of environment - CORBA based!particulars of environment - CORBA based!TCgate includes main, client and server partsTCgate includes main, client and server partsGateway interactions with ORB done through DII Gateway interactions with ORB done through DII
(clients) or DSI (servers)(clients) or DSI (servers)Run-time type info. based on interface repositoryRun-time type info. based on interface repository
ISORC, St. Malo, May 1999
ConclusionsConclusionsApplying formal approaches to realistic Applying formal approaches to realistic
and re-usable software developmentand re-usable software developmentODL/IDL basis supports direct relations ODL/IDL basis supports direct relations
between model and implementationbetween model and implementationTool support crucial if formal techniques Tool support crucial if formal techniques
to be more widely acceptedto be more widely accepted– TOSCA has tool chain for complete TOSCA has tool chain for complete
lifecycle of software development lifecycle of software development
ISORC, St. Malo, May 1999
Further information at:http://www.teltec.dcu.ie/tosca