EventHelix.com: CASE Tools; Real-time and Embedded System Design; Object Oriented Design
  Home  |  EventStudio System Designer 5  |  Features  |  Use Cases  |  Contact Us Blog
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 > Timer and Resource Management
Timer and Resource Management

This section introduces the timer and resource management statements in FDL.

FDL supports starting, stopping and timeout for timers by eternal and dynamic objects. Using the FDL timer management statements can help you identify stray timer problems (i.e. the timer was not stopped when it was supposed to). EventStudio issues a warning if it finds that timers have been left running at feature end. For dynamic objects, a warning will be issued if timers are left running at object deletion.

 

Resource allocation and deallocation can be carried out by eternal and dynamic objects. FDL resource management statements can help you catch resource leaks. EventStudio issues a warning when it finds that resources have not been deallocated at feature end. For dynamic objects, a warning will be issued if all resources allocated by the object have not been freed at object deletion.

Call4.fdl
    module : customer, exchange
    processor : phone in customer
    processor : frontend in exchange, core in exchange
    eternal : call_mgr in frontend
    dynamic : call in frontend
    /* Originating Call Setup */
   feature "Call Setup"
      offhook : phone -> call_mgr
      (* Subscriber lifts the phone to initiate a call *)
1.    call_mgr allocates "Subscriber Terminal"
call_mgr creates call
      offhook : call_mgr -> call
      dialtone : call -> phone
2.    call starts await_first_digit_timer
digits : phone -> call
3.    call stops await_first_digit_timer
4.    call starts more_digits_timer
5.    timeout more_digits_timer
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
      call_mgr deletes call
6.    call_mgr frees "Subscriber Terminal"
endfeature

 

  1. The Call Manager allocates a "Subscriber Terminal" resource before the call is started on that terminal. This demonstrates the resource allocate statement in FDL.
  2. Here the start timer statement is used to start a timer. The Call object has just fed dialtone to the customer and it is will wait for a limited time for the subscriber to dial the first digit.
  3. Some digits have been received from the subscriber, so the first digit timer is stopped. This is represented by the stop timer statement in FDL.
  4. Call starts the more_digits_timer awaiting more digits from the customer.
  5. The customer does not dial any more digits; this results in timeout of the more_digits_timer. This is represented by the timeout statement. (Note that all timers should be stopped or they should result in a timeout. EventStudio will issue a warning if a timer is left running when the feature ends. In addition to this EventStudio will issue a warning when timers are left running at the time of deleting a dynamic object)
  6. The call has ended, so the "Subscriber Terminal" resource can now be freed up. This is accomplished by using the resource free statement in FDL.

  Note: FDL also supports timer restart. This statement has not been covered in this tutorial.

  Home  |  EventStudio System Designer 5  |  Features  |  Use Cases  |  Contact Us Blog
Copyright © 2000-2011 EventHelix.com Inc. All Rights Reserved.