Transformations for Rapid Prototyping of TimeCritical Applications Matthew

  • Slides: 18
Download presentation
Transformations for Rapid Prototyping of Time-Critical Applications Matthew Mc. Gettigan

Transformations for Rapid Prototyping of Time-Critical Applications Matthew Mc. Gettigan

Software Requirements • Can integrate web services, components and legacy software inot a functioning

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

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

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

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

Rapid Prototyping Environment User/develope r IC Card Management IC Card System XMLjcc Multimedia Knowledge

Rapid Prototyping Environment User/develope r IC Card Management IC Card System XMLjcc Multimedia Knowledge Eclipse Environment XMLjcx IC Software Engineering Environment Knowledge-Base Fig 1. 1 Code

IC Cards • User/developer’s specification of an active object or agent • Active objects

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

IC Cards Fig 2. 1

Sample IC Card XMLicc Schema <ic. Card ic. Name="Patient Emergency Alert" ic. Description="Patient alerts

Sample IC Card XMLicc Schema <ic. Card ic. Name="Patient Emergency Alert" ic. Description="Patient alerts network/database of emergency" ic. Int. Pattern="myselfwith" ic. My. Task="Alert network/database of emergency" ic. Time. Critical. Condition="Tc+Talarm > Ts > Tc+Tnormal: Talarm=2*smallest system granularity, Tnormal=smallest system granularity" ic. Id="3" ic. Number. Current="1" ic. Number. Total="1"> <ic. Other. Name="Network/Database" ic. Other. Message="Emergency Alert" ic. Other. Task="None" ic. Other. Id="-1" /> </ic. Card>

Multimedia Knowledge Eclipse Environment (MKEE) • Visual editor for the IC system • Provides

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

Index Cell Structure Fig 3. 1

Index Cell Structure Fig 3. 1

Sample IC System Fig 3. 2

Sample IC System Fig 3. 2

Sample XMLicx Schema <? xml version="1. 0" encoding="UTF-8"? > <ic: ic. System xmlns: xsi="http:

Sample XMLicx Schema <? xml version="1. 0" encoding="UTF-8"? > <ic: ic. System xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xmlns: ic="http: //www. mke. org/ic/"> <index. Cell id="ic 1" max. Life. Time="inf" name="Sensor"> <state id="state 0" type="entering" name="send"/> <transition id="trans 0" source="state 0" target="state 0" type="internal"> <message xsi: type="ic: Output. Message" id="msg 0" name="send. Patient. Condtion"> <target. IC>ic 2</target. IC> <parameter data. Type="double" data. Value="98. 6" name="condition"/> </message> </transition> </index. Cell> <index. Cell current. State="state 1" id="ic 2" max. Life. Time="inf" name="Sensor Emergency Alert"> <state id="state 1" type="entering" name="listen"/> <state id="state 2" type="internal" name="alert"/> <transition id="trans 1" source="state 1" target="state 2" type="internal"> <message xsi: type="ic: Output. Message" id="msg 2" name="threashold reached"> <target. IC>ic 3</target. IC> <parameter data. Type="time" data. Value="get. Current. Time()" name="Tc"/> </message> <message xsi: type="ic: Input. Message" id="msg 1" name="get. Patient. Condition"> <predicate>condition< threshold</predicate> <parameter data. Type="double" data. Value="98. 7" name="condition"/> </message> <action body="alert Nurse" id="act 1" name="emergency" target="external"/> </transition> </index. Cell> <index. Cell id="ic 3" max. Life. Time="inf" name="Nurse"> <state id="state 3" type="entering" name="listen"/> <state id="state 4" type="internal" name="action"/> <transition id="trans 2" source="state 3" target="state 4" type="internal"> <message xsi: type="ic: Input. Message" id="msg 3" name="get. Emergency. Request"> <predicate>receive msg 2</predicate> <parameter data. Type="time" data. Value="get. Current. Time()" name="Tc"/> </message> <action body="help patient" id="act 2" name="dispatch" target="external"/> </transition> </index. Cell> </ic: ic. System>

Mapping Between IC Cards and MKEE IC System • MKEE index cell is different

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

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

ICX Compiler • MKEE tool outputs an XMLicx file describing the IC system •

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

IC Software Engineering Environment Fig 7. 1

IC Software Engineering Environment Fig 7. 1

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

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