A GUI Based Aid for Generation of Code-Frameworks of TMOs

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
 Guy Jacob  Roee Shapiro – Project A Spring, 2008 INFINI DRIVE  Project Supervisor: Hai Vortman  Lab Chief Engineer: Dr. Ilana David.
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Giotto and TMO Yerang Hur System Design Research Lab. Dept. of Computer and Information Science.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Chapter 10 Architectural Design
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
In the Labs… X-Bot 2003 by Overtech Technologies.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Chapter 4 – Thread Concepts
Introduction to threads
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Rekayasa Perangkat Lunak Part-10
Chapter 1 Introduction.
Rekayasa Perangkat Lunak
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Computer Aided Software Engineering (CASE)
Chapter 11 Object-Oriented Design
Mobile Operating System
System Design and Modeling
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
Distribution and components
Chapter 1 Introduction.
Chapter 3: Windows7 Part 1.
Chapter 2: Operating-System Structures
Rekayasa Perangkat Lunak
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
By Krishnamurthy et Al. Presented by David Girsault
Chapter 20 Object-Oriented Analysis and Design
Using JDeveloper.
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Quality Management
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
Analysis models and design models
An Introduction to Software Architecture
Operating Systems : Overview
4+1 View Model of Software Architecture
Outline Chapter 2 (cont) OS Design OS structure
Visual Modeling Using Rational Rose
Delivering great hardware solutions for Windows
4+1 View Model of Software Architecture
Design Yaodong Bi.
CMPE419 Mobile Application Development
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Logical Architecture & UML Package Diagrams
Presentation transcript:

A GUI Based Aid for Generation of Code-Frameworks of TMOs 2/23/2019 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

2/23/2019 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 February 23, 2019

2/23/2019 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. February 23, 2019

Challenges in Design of DRE systems 2/23/2019 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. February 23, 2019

TMO Programming Scheme 2/23/2019 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 February 23, 2019

2/23/2019 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 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 TMO’s February 23, 2019

Specification of Time-triggered action 2/23/2019 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:] “for t = from 10am to 10:50am every 30min start-during (t, t+5 min) finish-by t+10min” }* ae "AAC-end " ==:: { "start-during (10am, 10:05am) finish-by 10:10am", "start-during (10:30am, 10:35am) finish-by 10:40am"} February 23, 2019

TMO Network Structured Application Execution Facilities 2/23/2019 TMO Network Structured Application Execution Facilities Real-Time Distributed Computing Applications H/W Kernel ( e.g. NT kernel ) NT service TMOSM FT support Middleware 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 February 23, 2019

TMOSM (TMO Support Middleware) 2/23/2019 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 February 23, 2019

TMO Network Design Methodology : TMONDeM 2/23/2019 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 structuring of all the way from the requirement specification to the final implementation February 23, 2019

Visual Studio for TMO (ViSTMO) 2/23/2019 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. February 23, 2019

ViSTMO : Major Components and Functionality 2/23/2019 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. February 23, 2019

ViSTMO : Major Components and Functionality (Cont.) 2/23/2019 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 February 23, 2019

ViSTMO : An Illustration 2/23/2019 ViSTMO : An Illustration Creating an SpM Add an SpM to a TMO Set ODSS access mode Specifying the timing constrain : AAC Remote SvM call February 23, 2019

Add an SpM to a TMO February 23, 2019

Set ODSS access mode February 23, 2019

Specifying the timing constrain : AAC February 23, 2019

Remote SvM call February 23, 2019

2/23/2019 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. February 23, 2019

2/23/2019 THE END. Thank you.