transformations for rapid prototyping of time-critical applications matthew mcgettigan

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

Upload: winfred-bryan

Post on 04-Jan-2016

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Transformations for Rapid Prototyping of Time-Critical

Applications

Matthew McGettigan

Page 2: 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

Page 3: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

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

Page 4: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

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

Page 5: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Technologies Used

• IC cards

• IC system (active index)

• Relational Mining for appropriate web services

• Petri Net

• Time Management techniques

Page 6: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Rapid Prototyping Environment

IC Card Management System

Multimedia Knowledge Eclipse Environment

IC Software Engineering EnvironmentIC Card XMLjcc XMLjcx Code

User/developer

Knowledge-Base

Fig 1.1

Page 7: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

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

Page 8: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

IC Cards

Fig 2.1

Page 9: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Sample IC Card XMLicc 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" /> </icCard>

Page 10: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Multimedia Knowledge Eclipse Environment (MKEE)

• Visual editor for the IC system

• Provides modeling of multimedia applications and knowledge owned by multimedial objects

• Generates XMLicx specifications of the IC system and used as the front end for the ICX compiler

Page 11: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Index Cell Structure

Fig 3.1

Page 12: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Sample IC System

Fig 3.2

Page 13: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

Sample XMLicx Schema

<?xml version="1.0" encoding="UTF-8"?><ic:icSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ic="http://www.mke.org/ic/"> <indexCell id="ic1" maxLifeTime="inf" name="Sensor"> <state id="state0" type="entering" name="send"/> <transition id="trans0" source="state0" target="state0" type="internal"> <message xsi:type="ic:OutputMessage" id="msg0" name="sendPatientCondtion"> <targetIC>ic2</targetIC> <parameter dataType="double" dataValue="98.6" name="condition"/> </message> </transition> </indexCell> <indexCell currentState="state1" id="ic2" maxLifeTime="inf" name="Sensor Emergency Alert"> <state id="state1" type="entering" name="listen"/> <state id="state2" type="internal" name="alert"/> <transition id="trans1" source="state1" target="state2" type="internal"> <message xsi:type="ic:OutputMessage" id="msg2" name="threashold reached"> <targetIC>ic3</targetIC> <parameter dataType="time" dataValue="getCurrentTime()" name="Tc"/> </message> <message xsi:type="ic:InputMessage" id="msg1"

name="getPatientCondition"> <predicate>condition&lt; threshold</predicate> <parameter dataType="double" dataValue="98.7" name="condition"/> </message> <action body="alert Nurse" id="act1" name="emergency" target="external"/> </transition> </indexCell> <indexCell id="ic3" maxLifeTime="inf" name="Nurse"> <state id="state3" type="entering" name="listen"/> <state id="state4" type="internal" name="action"/> <transition id="trans2" source="state3" target="state4" type="internal"> <message xsi:type="ic:InputMessage" id="msg3" name="getEmergencyRequest"> <predicate>receive msg2</predicate> <parameter dataType="time" dataValue="getCurrentTime()" name="Tc"/> </message> <action body="help patient" id="act2" name="dispatch" target="external"/> </transition> </indexCell></ic:icSystem>

Page 14: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

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

Page 15: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

ICX Compiler Phases

• Lexical Analysis

• Syntax Analysis

• Semantic Analysis

• Optimization

• Code Generation

Page 16: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

ICX Compiler

• MKEE tool outputs an XMLicx 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

Page 17: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

IC Software Engineering Environment

Fig 7.1

Page 18: Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan

References

• Chang, S.K. et. al. Transformations for Rapid Prototyping of Time-Critical Applications.

• Leavenworth, B. 1992. Proxy: an interpreter for rapid prototyping. SIGPLAN Not. 27, 6 (Jun. 1992), 19-28. DOI= http://doi.acm.org/10.1145/130981.130984