Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

Best Practices in Web Service Style, Data Binding and Validation (for use in Data-Centric Applications) David Meredith, Asif Akram, Rob Allan CCLRC Daresbury.
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
CSc 453 Compilers & Systems Software Saumya Debray The University of Arizona Tucson, AZ
Chapter 6: Design of Expert Systems
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
The Data Mining Visual Environment Motivation Major problems with existing DM systems They are based on non-extensible frameworks. They provide a non-uniform.
Interact: RETSINA’s Agent Editor Provides a GUI interface to agent’s task and reduction libraries Allows –quick development of new libraries –easy extensions.
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
CS 425/625 Software Engineering Software Processes
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Chapter What is a Database? Collection of Dynamic Data –Large –Persistent –Integrated With Some Operations –to Maintain the Data –to Retrieve the.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Chapter 3 Software Processes.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
L ă cr ă mioara STOICU-TIVADAR, Vasile STOICU-TIVADAR, Dorin BERIAN “Politehnica” University Timisoara Department of Automation and Applied Informatics,
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Tele-Action Objects (TAO) Presented by Kingsley Adeoye April 3, 2008.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Information System Development Courses Figure: ISD Course Structure.
CMSC 1041 Algorithms II Software Development Life-Cycle.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
CCSDS Service Management ESA/ESOC UM Prototype 20 April 2009.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Compiler design Lecture 1: Compiler Overview Sulaimany University 2 Oct
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
CSc 453 Compilers & Systems Software Saumya Debray The University of Arizona Tucson, AZ
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
ReNeW Reference Net Workshop Presenter Yao Sun. The ReNeW Features  High-level Petri Nets (Support Predicate)  Place/Transition Nets  Petri Nets with.
© 2006 Altova GmbH. All Rights Reserved. Altova ® Product Line Overview.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
Software Engineering Lecture # 1.
 Programming - the process of creating computer programs.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Software Development Introduction
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
Lecture VIII: Software Architecture
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Chapter – 8 Software Tools.
Helping the Cause of Medical Device Interoperability Through Standards- based Test Tools DoC/NIST John J. Garguilo January 25,
ICS312 Introduction to Compilers Set 23. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Université Toulouse I 1 CADUI' June FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
JIT Medical Application Project IC System Design Matching Between IC Cards & IC System Zhoulan Zhang
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
Concepts of Programming Languages Lecturer: Dr. Emad Nabil Lecture # 2.
Information System Applications
Advanced Computer Systems
PRINCIPLES OF COMPILER DESIGN
Introduction to Compiler Construction
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Chapter 1 Preliminaries.
CSc 453 Compilers & Systems Software 00. Background
Project Implementation for ITCS4122
Implementing Language Extensions with Model Transformations
Implementing Language Extensions with Model Transformations
Presentation transcript:

Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Software Requirements Can integrate web services, components and legacy software inot a functioning system Must be operational before deadline and remain operational until expiration time Must satisfy user-specified timing constraints

What Is Rapid Prototyping? Goal is rapid development and information feedback Done at the expense of efficiency and completeness Allows for making changes early in the development cycle Expectation that the model will eventually be thrown away

Application Software Approach Objects are called Tele-Action Objects (TAO) Each TAO is enhanced by an index cell (IC) Objects may contain multimedia data IC system is an active index that enhances the overall intelligence of the software

Technologies Used IC cards IC system (active index) Relational Mining for appropriate web services Petri Net Time Management techniques

Rapid Prototyping Environment IC Card Management System Multimedia Knowledge Eclipse Environment IC Software Engineering Environment IC Card XML jcc XML jcx Code User/develope r Knowledge-Base Fig 1.1

IC Cards User/developer’s specification of an active object or agent Active objects interact with each other according to certain interaction patterns IC Card Management System provides a way to organize and manage IC cards

IC Cards Fig 2.1

Sample IC Card XML icc Schema <icCard icName="Patient Emergency Alert" icDescription="Patient alerts network/database of emergency" icIntPattern="myselfwith" icMyTask="Alert network/database of emergency" icTimeCriticalCondition="Tc+Talarm > Ts > Tc+Tnormal: Talarm=2*smallest system granularity, Tnormal=smallest system granularity" icId="3" icNumberCurrent="1" icNumberTotal="1"> <icOther icOtherName="Network/Database" icOtherMessage="Emergency Alert" icOtherTask="None" icOtherId="-1" />

Multimedia Knowledge Eclipse Environment (MKEE) Visual editor for the IC system Provides modeling of multimedia applications and knowledge owned by multimedial objects Generates XML icx specifications of the IC system and used as the front end for the ICX compiler

Index Cell Structure Fig 3.1

Sample IC System Fig 3.2

Sample XML icx Schema <indexCell id="ic1" maxLifeTime="inf" name="Sensor"> <transition id="trans0" source="state0" target="state0" type="internal"> ic2 <parameter dataType="double" dataValue="98.6" name="condition"/> <indexCell currentState="state1" id="ic2" maxLifeTime="inf" name="Sensor Emergency Alert"> <transition id="trans1" source="state1" target="state2" type="internal"> <message xsi:type="ic:OutputMessage" id="msg2" name="threashold reached"> ic3 <parameter dataType="time" dataValue="getCurrentTime()" name="Tc"/> <message xsi:type="ic:InputMessage" id="msg1" name="getPatientCondition"> condition< threshold <parameter dataType="double" dataValue="98.7" name="condition"/> <action body="alert Nurse" id="act1" name="emergency" target="external"/> <indexCell id="ic3" maxLifeTime="inf" name="Nurse"> <transition id="trans2" source="state3" target="state4" type="internal"> receive msg2 <parameter dataType="time" dataValue="getCurrentTime()" name="Tc"/> <action body="help patient" id="act2" name="dispatch" target="external"/>

Mapping Between IC Cards and MKEE IC System MKEE index cell is different from the index cell depicted by the IC card Both can be represented by XML Can use MTF to implement partial transformation between the two models

ICX Compiler Phases Lexical Analysis Syntax Analysis Semantic Analysis Optimization Code Generation

ICX Compiler MKEE tool outputs an XML icx file describing the IC system XML file is processed by the ICX compiler Compiler checks semantics of XML file and produces a set of Java classes if semantics are valid Each index cell is implemented as a separate Java class

IC Software Engineering Environment Fig 7.1

References Chang, S.K. et. al. Transformations for Rapid Prototyping of Time-Critical Applications. Leavenworth, B Proxy: an interpreter for rapid prototyping. SIGPLAN Not. 27, 6 (Jun. 1992), DOI=