Ted a language for modeling telecommunication networks
1 / 18

Ted - PowerPoint PPT Presentation

  • Uploaded on

Ted – A language for Modeling Telecommunication Networks Kalyan Perumall, Richard Fujimoto Georgia College of Technology Andrew Ogielski Rutgers university Presented By: Abhishek Chugh Introduction Designed mainly for modeling telecommunication networks

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Ted ' - Mercy

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ted a language for modeling telecommunication networks l.jpg

Ted – A language for Modeling Telecommunication Networks

Kalyan Perumall, Richard Fujimoto

Georgia College of Technology

Andrew Ogielski

Rutgers university

Presented By: Abhishek Chugh

Introduction l.jpg

  • Designed mainly for modeling telecommunication networks

  • Language specification is split into two distinct parts –

    • MetaTed

    • External language

  • MetaTed – incomplete language – more appropriately called a framework.

  • When MetaData is combined with any programming language, say £, complete language is formed.

    • £ - flavor of TeD.

    • concept of outsourcing.

Objectives in the design of ted language l.jpg
Objectives in the design of TeD Language

  • General for modeling current as well as future telecommunication networks.

  • Should provide for specification, description as well as simulation.

  • Support object orientation – encapsulation, inheritance and polymorphism.

  • Should provide support for user-definable and extensible libraries.

Fundamental concepts l.jpg
Fundamental Concepts

  • Entity

  • Event

  • Channel

  • Architecture

    • State

    • Behavior

      • Process

      • Component

    • Result

Concepts overview l.jpg
Concepts Overview

  • Physical and conceptual objects are modeled as entities.

  • Entities interact through channels.

  • Events – Information units which flow through channels.

  • Entities are highly modular.

  • The entity construct describes the entity’s external input/output view.

Concepts overview7 l.jpg
Concepts Overview

  • Architecture - Describes dynamic behavior of each entity.

    • Essentially describes the actions of entity on event arrival.

    • Processes are defined to act upon arriving events.

    • Components – Entities logically enclosed inside bigger entities.

  • Architecture construct describes the internal behavioral part of the object being modeled.

Entity declaration l.jpg
Entity Declaration

  • Defines the external view of a physical or conceptual object.

  • Essentially defines the input and output specifications.

    Entity ATMMux ( int N )




    in ATMChannel A[$PARAM(N)$] ;

    out ATMChannel B ;



Event and channel declaration l.jpg
Event and Channel Declaration

  • Channel – port of input or output.

  • An output channel of an entity can be mapped to an input channel of another entity.

  • A channel type is defined as a set of event types.

  • Two channels can be mapped only if they are compatible.

  • Declarations

    Event ATMCell {$ char data[53]; $}

    Channel ATMChannel { ATMCEll }

Architecture declaration l.jpg
Architecture Declaration

  • Mainly consists of following parts:

    • Deferred Constants: Items whose value could be different for different instances of entity.

    • State: Variables that together form a part of the abstract state of the model.

    • Channels: Set of channels used for communication among internal processes and components of an architecture.

    • Behavior Processes: Threads of computation that act on events arriving on interface and internal channels.

    • Behavior Components: Set of entities that ft logically form sub entities of an entity’s behavior.

    • Result: A set of values that are an abstraction of result.

Architecture declaration13 l.jpg
Architecture Declaration


Architecture of ATMMux ( int N )


dconst{$ int S, K; double T; $}

state{$ int qlen, nsent, nlost; $ }



process#1 scan( A );

process#2 update;


result{$ int totsent, totlost; $ }


Processes l.jpg

  • Leaf elements in the behavior tree.

  • Acts on behalf of entities that own them.

  • Basic functionality consists of combination of two types of action:

    • Computation: using state variables.

    • Synchronization: using channels and time.

  • Processes can be categorized based on their channel-synchronization method:

    • Arrival-driven: Wait for activity on a set of channels and performcomputation actions upon arrival of events on that channels.

    • Self-Driven: Consists of combination of one or more computation and synchronization actions.

Processes15 l.jpg

  • Computation actions are specified using action statements in the external language.

  • Synchronization actions are specified using wait statement.

    • Wait onchannel-vars causes process to wait until at least one event arrives on at least one channel.

    • Wait untilcondition makes the process to wait until the condition evaluates to true.

    • Wait forexpression causes the process to wait for amount of time given by the expression.

Process declaration l.jpg
Process Declaration

process #1 ATMMux : scan( A[ $0$ to $PARAM(N)-1$ ] )

{ \{

for( int i=0, n=ASETSZ(A); i<n; i++ )


if( STATE(qlen) < DCONST(S) ) STATE(qlen)++ ;

else STATE(nlost)++ ;


\} }

process #2 ATMMux : update


/{ if( STATE(qlen) > 0 ) { {







External code block l.jpg
External Code block

  • External language expressions and declarations are used for certain purposes.

  • External code blocks are any valid external language expressions enclosed between a pair of $ signs, or between \{ and \}.