200 likes | 216 Views
A GUI Based Aid for Generation of Code-Frameworks of TMOs K. H. (Kane) Kim and S. J. Kang DREAM Lab. UC, Irvine {khkim, seokjook}@uci.edu October 14 th , 2001. Contents. Motivation Challenges in Design of Distributed Real-time Embedded-computing (DRE) Systems
E N D
A GUI Based Aid for Generation of Code-Frameworks of TMOs K. H. (Kane) Kim and S. J. Kang DREAM Lab. UC, Irvine {khkim, seokjook}@uci.edu October 14th, 2001
Contents • 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
Motivation • 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.
Challenges 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.
TMO 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
TMO Basic Structure • Time-triggered (TT-) or spontaneous methods(SpM’s): • Clearly separated from the conventional service methods (SvM’s) triggered by messages from clients • Time-window imposed on each output action and method completion • Connections to the network environmentaspossible 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 TMO’s
Specification of Time-triggered action • Triggering times for SpM’s • 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:] “fort = from10am to10:50am every30min start-during(t, t+5 min) finish-byt+10min” }* ae"AAC-end " ==:: { "start-during (10am, 10:05am) finish-by 10:10am", "start-during (10:30am, 10:35am) finish-by 10:40am"}
Real-Time Distributed Computing Applications Middleware Middleware Middleware FT support FT support FT support NT service NT service NT service TMOSM TMOSM TMOSM Kernel ( e.g. NT kernel ) Kernel ( e.g. NT kernel ) Kernel ( e.g. NT kernel ) H/W H/W H/W TMO 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
TMOSM (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
TMO 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 structuringof all the way from the requirement specification to the final implementation
Visual 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 => Increase productivity.
ViSTMO : 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 TMO’s : message types • How the TMO’s 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.
ViSTMO : Major Components and Functionality (Cont.) - Property of each TMO Requirement analysis and Design ViSTMO 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
ViSTMO : An Illustration • Creating an SpM • Add an SpM to a TMO • Set ODSS access mode • Specifying the timing constrain : AAC • Remote SvM call
Summary • 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.