Ted a language for modeling telecommunication networks
Download
1 / 18

Ted – A language for Modeling Telecommunication Networks - PowerPoint PPT Presentation


  • 317 Views
  • Uploaded on
  • Presentation posted in: Internet / Web

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

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

Download Presentation

Ted – A language for Modeling Telecommunication Networks

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

Kalyan Perumall, Richard Fujimoto

Georgia College of Technology

Andrew Ogielski

Rutgers university

Presented By: Abhishek Chugh


Introduction

  • 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

  • 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

  • Entity

  • Event

  • Channel

  • Architecture

    • State

    • Behavior

      • Process

      • Component

    • Result


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.


Entity


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.


Basic Framework of an Entity


Physical Entity and its model in TeD


Entity Declaration

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

  • Essentially defines the input and output specifications.

    Entity ATMMux ( int N )

    {

    channels

    {

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

    out ATMChannel B ;

    }

    }


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

  • 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 Declaration

Declaration:

Architecture of ATMMux ( int N )

{

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

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

behavior

{

process#1 scan( A );

process#2 update;

}

result{$ int totsent, totlost; $ }

}


Processes

  • 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.


Processes

  • 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

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 ) {{

CHANNEL(B) << EVENT(ATMCell,() );

STATE(qlen)--;

STATE(nsent)++;

}

\}

}


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 \}.


Applause !!


ad
  • Login