Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan.
-
Upload
winfred-bryan -
Category
Documents
-
view
219 -
download
3
Transcript of Transformations for Rapid Prototyping of Time-Critical Applications Matthew McGettigan.
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 EnvironmentIC Card XMLjcc XMLjcx Code
User/developer
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 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>
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
Sample IC System
Fig 3.2
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< 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>
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 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
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