Presentation is loading. Please wait.

Presentation is loading. Please wait.

CR 2025 – Component Synchronization Operations

Similar presentations


Presentation on theme: "CR 2025 – Component Synchronization Operations"— Presentation transcript:

1 CR 2025 – Component Synchronization Operations

2 What is synchronization?
Definition in Wikipedia: Synchronization is timekeeping which requires the coordination of events to operate a system in unison. The familiar condutor of an orchestra serves to keep the orchestra in time. Systems operating with all their parts in synchrony are said to be synchronous or in sync. Some systems may be only approximately synchronized, or plesiochronous. For some applications relative offsets between events need to be determined, for others only the order of the event is important.

3 Basic kinds of synchronization for processes (in operating systems)
Mutual Exclusion Prevents the concurrent access to exclusive ressources (Printer, Plotter, CD writer). Goal: consistency of data. Condition Synchronisation Waiting for the entry of a Condition. Goal: determine the order of operations.

4 Synchronization mechanisms in operating systems
Basically working on shared memory, usable for both kinds of synchronization Hardware Level Exception – Blocking (Timer exception) Test and Set - Operations Operating system level, offered in programming languages Semaphore Monitor Message Passing (works without shared memory)

5 What is needed in TTCN-3? TTCN-3 offers message passing (over buffers) that can be used to „program“ all kinds of synchronization. (It is easy to program examples for mutal exclusion and condition synchronisation.)

6 Do we need new language constructs for component synchronization?
Pro (yes we need) Today programming of synchronization is clumsy. No standardized synchronization. User may want to have simple synchronization primitives. Cons (No, we do not need) Coding the synchronization is more flexible than predefined primitives. TTCN-3 libraries shall be used to define standardized synchronization. The „simple“ synchronization primitives are not that simple as we may believe now. New language features for functionality that can already be expressed in the language will make the language more complicated.

7 Personal View (Jens) Go for a library! My arguments:
Learning library functions is as complicated as learning new language constructs. Libraries can be adapted to the needs of the user. Libraries may support several synchronization mechanisms (e.g., one synchronization component, synchronization ports). Writing a library will cost the same effort as introducing new language features in the language. I am not sure that we can/will agree on all language features needed for a „simple“ synchronization.


Download ppt "CR 2025 – Component Synchronization Operations"

Similar presentations


Ads by Google