EventHelix.com: CASE Tools; Real-time and Embedded System Design; Object Oriented Design
  Home  |  EventStudio System Designer 4.0  |  VisualEther Protocol Analyzer 1.0  Real-time Mantra  Contact Us  AddThis Social Bookmark Button
bulletGetting Started with EventStudio
bulletIntroduction to FDL
bulletComments, Remarks and Issues
bulletObject Management and Message Parameters
bulletTimer and Resource Management
bulletState Machine Operations, Actions and Environment
bulletDefining Types for Modules, Processors and Objects
bulletMultiple Scenario Support
bulletTutorial Sequence Diagram pdf

Home > EventStudio System Designer > Sequence Diagram Tutorial > Object Management and Parameters
Object Management and Message Parameters

We have seen earlier that FDL allows the developer to describe the system by representing it in terms of modules and processors. FDL also supports definition of objects inside the processors. Objects could be eternal or dynamic. Eternal objects are created at system startup and they exist throughout the life of the system. Dynamic object on the other hand are created and destroyed dynamically. The system represents eternal objects with instance axis that runs from the beginning of the document to the end. The instance axis for dynamic objects runs from the creation time to the deletion time.

In Call3.fdl we have added call_mgr and call objects to the frontend processor. Once objects are defined on a processor, all the messages should specify the objects on the processor. Thus references to the frontend processor have been replaced with references to call_mgr and call objects. In addition to this, definition of objects allows us to specify the detailed message handling on the frontend processor.

Additionally, the tutorial also demonstrates how message parameters can be specified in FDL. Message parameters can be added to any message interaction.

Call3.fdl
     module : customer, exchange
     processor : phone in customer
     processor : frontend in exchange, core in exchange
1.   eternal : call_mgr in frontend
2.   dynamic : call in frontend
/* Originating Call Setup */
     feature "Call Setup"
3.      offhook : phone -> call_mgr
(* Subscriber lifts the phone to initiate a call *)
4.      call_mgr creates call
offhook : call_mgr -> call
        dialtone : call -> phone
        digits : phone -> call
5.      setup_call(digits="1-800-433-444", mode=NORMAL) : call -> core
setup_complete : core -> call
        [* Setup complete, waiting for called susbcriber to be rung *]
        ringback : core -> phone
        onhook : phone -> call
        call_over : call -> call_mgr
6       call_mgr deletes call
endfeature

 

  1. This statement declares an eternal object call_mgr running on the frontend processor. Use this statement to declare objects that are created at system startup and never die during the system operation (hence the name eternal)
  2. A dynamic object is declared in this statement. Use this statement to declare objects that will be created and deleted dynamically by the system.
  3. We have now defined two objects in the frontend processor. Thus all message interactions need to specify the object that will be receiving the message. In this case, the message destination has been changed from frontend processor to call_mgr eternal object.
  4. A dynamic object needs to be created explicitly. Here a call object has been created. Use the create statement to create dynamic objects
  5. This statement just adds more detail to the setup_call message. The message parameters digits and mode have been specified. Message parameters are printed below the message arrow. The message parameter values are specified as a string in one case. Note that the message name, field name and the field value can all be defined as strings or identifiers. (Also note that specifying the parameter value is optional)
  6. This statement shows the call_mgr deleting the call. Typically a dynamic object created in a feature should be deleted before the feature ends (EventStudio will warn you if you don't do so). Use the delete statement when a dynamic object needs to be deleted. The delete statement also allows a self delete (i.e. call deletes call)

 

   Home  |  EventStudio System Designer 4.0  |  VisualEther Protocol Analyzer 1.0  Real-time Mantra  Contact Us
Copyright © 2000-2008 EventHelix.com Inc. All Rights Reserved.