31
Creating Creating Telecommunication Telecommunication Services based on Services based on Object- Oriented Object- Oriented Frameworks and SDL Frameworks and SDL Dr Richard Sinnott Dr Richard Sinnott GMD Fokus GMD Fokus Berlin, Germany Berlin, Germany

Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

Embed Size (px)

DESCRIPTION

The TOSCA Consortium GMD Fokus BT EricssonTelelogic IONA University of Lund University of Strathclyde CSELT S3 Teltec

Citation preview

Page 1: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 2: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 3: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

The TOSCA ConsortiumThe TOSCA ConsortiumGMD FokusGMD Fokus

BTBT

EricssonEricssonTelelogicTelelogic

IONAIONA

University University of Lundof Lund

University University of Strathclydeof Strathclyde

CSELTCSELT

S3S3 TeltecTeltec

Page 4: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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(?)

Page 5: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 6: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

??

??

Page 7: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 8: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 9: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 10: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 11: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

Outline of USM StructureOutline of USM StructureUFSmgr

USPmgr

UFS

USP

generic objects

DynamicWindowHandlers

Invite Window Handler

other handlersssuap

ssmor

otherusms

Page 12: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 13: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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();....} ;

Page 14: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 15: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 16: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 17: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 18: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 19: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 20: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 21: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 22: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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)

Page 23: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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)

Page 24: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

ISORC, St. Malo, May 1999

...continued...continuedTimer handlerT;suspended

handlerT

pCALL_i_UFSmgr_terminateSessionRequest TO self

-

Page 25: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 26: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 27: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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)

Page 28: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

ISORC, St. Malo, May 1999

Test Case GenerationTest Case Generation

Page 29: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 30: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

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

Page 31: Creating Telecommunication Services based on Object- Oriented Frameworks and SDL Dr Richard Sinnott…

ISORC, St. Malo, May 1999

Further information at:http://www.teltec.dcu.ie/tosca