Title: TMO Tool Set
1A GUI Based Aid for Generation of
Code-Frameworks of TMOs K. H. (Kane) Kim and
S. J. Kang DREAM Lab. UC, Irvine khkim,
seokjook_at_uci.edu October 14th, 2001
2Contents
- Motivation
- Challenges in Design of Distributed Real-time
Embedded-computing (DRE) Systems - TMO (Time-triggered Message-triggered Object)
Programming Scheme - Overview
- TMO Network Design Methodology (TMONDeM)
- Visual Studio for TMO (ViSTMO)
- Summary
3Motivation
- Most of DRE systems are complex and require high
reliability. - The system reliability and the design efficiency
are of vital importance. - The state of the art for design of DRE systems is
inadequate for dealing with large-scale, complex,
and highly reliable DRE applications. - Requirements specifications are not rigorous.
- Specifying temporal behavior requirements is
problematic . - Based on the Low level programming style (using C
or Assembly) - Designers should concern about low level
attributes (e.g. threads and priority) - Can not meet the design efficiency and reliable
system design requirements.
4Challenges in Design of DRE systems
- How to establish General-form design of DRE
systems based on the high-level programming
scheme? - General-form design realizing DRE in a general
manner not alienating the main-stream computing
industry. - How to guarantee timely service capabilities of
subsystems? - Two important requirements
- Modular design including modular specification of
timing properties of components - Design-time analysis of timing behavior of
implemented component - How to integrate design tools and techniques
seamlessly through multiple engineering phases? - Key issue The uniformity and the range of
controlled accuracy in representation of various
levels of system design evolving through multiple
design phases.
5TMO Programming Scheme
- Established in early 1990's with a concrete
syntactic structure and execution semantics for
economical reliable design and implementation of
RT systems. - A natural easy- to- use extension of the C/
Java technology into an RT distributed software
component programming technology - supports design of distributable Real Time (RT)
objects and distributable non- RT objects within
one general structure. - A natural syntactically small but semantically
powerful extension of the conventional object
structure
6TMO Basic Structure
- Time-triggered (TT-) or spontaneous methods
(SpMs) - Clearly separated from the conventional service
methods (SvMs) triggered by messages from
clients - Time-window imposed on each output action and
method completion
- Connections to the network environment as
possible data members - Programmable data-field-channels
- TMO access capabilities (possibly remote TMO's)
- Basic concurrency constraint (BCC)
- SpM executions not disturbed by SvM executions.
- Eases design-time guarantee of timely services of
TMOs
7Specification of Time-triggered action
- Triggering times for SpMs
- Must be fully specified as constants at
design-time - Appear in the first clause of the SpM
specification called the autonomous
activation condition (AAC)
Example of AAC
ab "AAC-begin" AAC name for t
from 10am to 1050am every 30min
start-during (t, t5 min) finish-by t10min
ae "AAC-end " "start-during
(10am, 1005am) finish-by 1010am",
"start-during (1030am, 1035am) finish-by
1040am"
8TMO Network Structured Application Execution
Facilities
No concerns with - Processes Threads - Object
locations (except in avoiding overloaded nodes) -
Low-level comm. protocols No specification of
timing requirements in indirect terms (e. g.,
priorities) - Only start-windows and completion
deadlines for object methods and - time-windows
for output actions
9TMOSM (TMO Support Middleware)
- A middleware architecture supporting TMO
execution - Supports distributed, real-time programming on
COTS platforms - Allows programmers to express action timings
flexibly and well-structured forms (at the level
of 10 milliseconds with an implementation based
on Windows NT) - User-friendly C API, TMOSL (TMO support
library) - High portability and expandability
- Can be ported to most modern OS with small effort
10TMO Network Design Methodology TMONDeM
- High-level program component (TMO) based design.
- TMO structuring is the most desirable building
block structure for the DRE systems. - Capable of dealing with non-RT and RT computing
requirements in uniform manners. General-form
Design - It is possible to realize non-RT computer systems
by simply filling the time constraint
specification part with unconstrained default
values. - Provides design-time guarantee for timely service
capabilities. - The designer can impose a guaranteed service time
(GST) on every service method in a program
component during design time. - Using uniform structuring of all the way from the
requirement specification to the final
implementation
11Visual Studio for TMO (ViSTMO)
- A visual modeling tool supporting the TMONDeM .
- It provides a graphics-based design editor for
TMO network application designs based on the TMO
top-down and step-wise design method (TMONDeM) - Automatic generation of C source code (class
definitions only) - It generates C source code (class definitions
for TMO, ODSS, SpM, SvM) - Increase programming efficiency and system
reliability. - Allowing smooth transition from design to coding.
- It can be integrated with C compiler (MS Visual
studio) and will create a workspace and projects
for the application. - Minimize the gab between design and coding.
- Efficient management of design documents and
source code. - It will help TMO network application designers
and programmers to manage design documents and
source code - gt Increase productivity.
12ViSTMO Major Components and Functionality
- Components and Functionality
- Graphics-based design editor
- Visual creation of TMO
- Defining TMO properties ODSS, SpM, and SvM
class - TMO network Diagram
- Relations among the TMOs message types
- How the TMOs evolve at each step.
- Code-framework Generator
- Creating C code for TMO definition creates
.h and .cpp files - ODSS, SpM and SvM class
- Integration with Visual Studio
- Creates work space, projects and TMO config.ini
files - Supporting deployment of TMOs under distributed
environment - Creates separate main file and config.ini file
for each node.
13ViSTMO Major Components and Functionality
(Cont.)
Requirement analysis and Design
ViSTMO
- Property of each TMO
Graphics-based design editor
- TMO network diagram - Property of each TMO
Code generation
Code-framework Generator
- C code for TMO class definitions - TMO
config.ini files, Visual Studio work space,
and projects files
Other tools
Compiler / Debugger(MS Visual Studio)
Timing Analyzer
- Method Implementation
Coding and debugging
Timing analysis
14ViSTMO An Illustration
- Creating an SpM
- Add an SpM to a TMO
- Set ODSS access mode
- Specifying the timing constrain AAC
- Remote SvM call
15Add an SpM to a TMO
16Set ODSS access mode
17Specifying the timing constrain AAC
18Remote SvM call
19Summary
- The state of the art for design of DRE systems is
inadequate for dealing with large-scale, complex,
and highly reliable DRE applications. - TMONDeM (TMO Network Design Methodology) is a
General-form timeliness-guaranteed design that
is the idealistic approach for the development of
the complex and highly reliable DRE applications. - In order to improve TMONDeM, we are working on a
GUI tool for programming efficiency and system
reliability.
20THE END.Thank you.