Tempura Retargeting Damyan Mitev Vladimir Valkanov Plovdiv University
- Slides: 20
Tempura Retargeting Damyan Mitev, Vladimir Valkanov Plovdiv University “Paisii Hilendarski” SEERE Workshop, Neum 2009 1
CAMe. LS project • flexible, adaptive, collaborative, context-aware service and agent-oriented e. Learning environment • uses Info. Station network architecture • delivers personalized, mobile, any-time and any -where assess to educational content and services SEERE Workshop, Neum 2009 2
Info. Station middleware • manages services and mobile users • scenario based – « No change » scenario – « Change IS » scenario – « Change MD » scenario – « Change both » scenario SEERE Workshop, Neum 2009 3
Scenarios • depend on movement of user and used mobile device • mandate different behavior of the middleware – different device profiles (capabilities) – cached information in the Info. Stations – availability of services in different Info. Stations • time dependant SEERE Workshop, Neum 2009 4
Scenario detection and control • we need – formal description of scenarios – mechanisms to interpret that description • we gain – flexible mechanisms for creating new (sub) scenarios – easily define corresponding middleware behavior SEERE Workshop, Neum 2009 5
Scenario formalism • Interval Temporal Logic – propositional and first-order logical reasoning – finite sequences – time intervals – capable of handling sequential and parallel composition • Tempura - executable ITL framework. SEERE Workshop, Neum 2009 6
Tempura usage • middleware – written in Java • Tempura – written in C – open source • possible usage of Tempura – wrapping existing Tempura executable with Java IO redirection – development of entirely new project, based on execution rules of ITL – reengineering of Tempura and rewriting it in Java SEERE Workshop, Neum 2009 7
Tempura retargeting • homogenous environment • usage of quality code as a basis • no steep curve learning ITL nuts and bolts SEERE Workshop, Neum 2009 8
Tempura source code diagram SEERE Workshop, Neum 2009 9
Retargeting plan • based on iterations • iteration phases – research phase – implementation phase – testing phase SEERE Workshop, Neum 2009 10
Plan for first iteration • research – understand Interval Temporal Logic • In progress – learn code structure, main program flow, structures and variables of Tempura interpreter • Mostly done – check possible usages of existing C-to Java conversion tools • No suitable software found – check possible usages of existing C analysis tools SEERE Workshop, Neum 2009 11
Plan for first iteration (cont’d) • implementation – create a Java class for every C source file and its associate header file – create a static method in the Java class for every function in the C file with the same name (ignoring Java naming conventions) – create static variable in the Java class for every global variable in the header file – create a static method in the Java class for every macro function in the header file (where appropriate) – expand the contents of every macro, not covered by the previous step – implement all struct and union types as Java classes – convert integer boolean assignments and expressions into proper Java boolean constructs – replace function pointers with instances of specially created Interface, SEERE Workshop, Neum 2009 12 which will call the desired Java method (delegates)
Plan for first iteration (cont’d) • implementation status (estimated) – 40 % of the source code – 80 % of the structures – 30 % of function pointers • problems – console oriented – scattered functions and variables – heavy use of c-specific syntax structures like macros, pointers, memory addressing, null terminated strings, inline initializers SEERE Workshop, Neum 2009 13
Plan for first iteration (cont’d) • testing – run the examples, which come with the original sources, on the Java interpreter and compare results • desired outcome – working JTempura interpreter by the end of the year SEERE Workshop, Neum 2009 14
Plan for second iteration • towards object-oriented structure – converting different Node types (denoted by their type member) into hierarchy of base class TNode and a descendant for every node type, supported by JTempura – converting various reducers from static members to Java classes and creating hierarchy of reducers with base class TReducer SEERE Workshop, Neum 2009 15
Plan for second iteration (cont’d) • towards object-oriented structure – redirecting input and output of the interpreter into streams – redesign memory management – redesign error handling and notification – group similar and relevant methods in one class – design complex objects for storing lexemes – implement syntax tree outcome of the parser, representing the given ITL expression SEERE Workshop, Neum 2009 16
Plan for second iteration (cont’d) • Object-oriented model for the second iteration SEERE Workshop, Neum 2009 17
Plan for third iteration • research – analyze different runtime verification (RV) tools and frameworks – learn different RV strategies – choose suitable strategy for our needs (service monitoring, scenario detection, Java) • implementation – towards runtime verification framework – implement at least one of the strategies SEERE Workshop, Neum 2009 18
Tools • Eclipse-CPP • Eclipse-Java • Power. Designer SEERE Workshop, Neum 2009 19
Thank you SEERE Workshop, Neum 2009 20
- Agentie retargeting
- 沈榮麟
- Vladimír všeslav kráľ
- Lektira trojica u trnju kviz
- Vladimir batagelj
- Vladimir olchanski
- Vladimir magas
- Vladimir davydenko
- Vlado leko
- Vedrana bermanec
- Propunator
- How did vladimir's conversion to christianity affect kiev
- Vladimir propp character theory
- Vladimir gusev peintre
- Vladimir ferianec
- Vladimir cvijan
- Vladimir gritsev
- Kviz upravni i neupravni govor
- Vladimir zworykin
- Halugica vladimir nazor
- Vladimir viies