Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier.

Similar presentations


Presentation on theme: "Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier."— Presentation transcript:

1 Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier and Validator)

2 Need to simulate workflows of complex processes This stuff can get complex !!  No kidding !

3

4 Need to simulate workflows of complex processes Need to KISS !! (Keep It Simple Silly) A means to analyze and produce statistical results

5 A language designed to handle workflows in industries Java-like syntax Aimed at easier design, simulation and analysis of workflows

6

7 Resource Final Times (x) Nodes Input output Connections Computations End Block Resources Block Nodes Block Connections Block End Block Compute Block

8 The New Guys WoWNode WoWNodes x convert, combine WoW Library The Old Timers int String double boolean if, foreach, while…

9

10 Source Program *.WoW Source Program *.WoW Library Functions Package Lexer WoW.jflex Lexer WoW.jflex Parser WoW.y Parser WoW.y AST Traversal WoW.y AST Traversal WoW.y NodeThread.java Target Program MainClass.java Target Program MainClass.java Symbol Table Symbol Table Hash Tables ConnectionChecks.java top_include_targ et.txt end_include_targ et.txt

11 Use JVM on user’s environment Makefile! translate wowcompile wowrun Runtime script executes the Parser on the WoW program./wow WoWPrograms/Audi.WoW

12

13 Testing of the WoW compiler is done by comparing the translated Java code of a WoW program with the expected Java code. Ideally translation should fail if there are compilation errors in WoW program. If mismatch between translated java and expected java then test case fails.

14 test_script.sh Tests all the test programs in a loop. Outputs the number of test cases run and the result of the testing. compare_java.sh Helper script called by test_script.sh which does actual part of comparing the two java programs using the diff command.

15 #!/bin/bash java_count=0 total_java=0 for D in `find Test -type d` do if [ "${D}" != "Test" ] then name=$(basename ${D}) java_test=$(./compare_java.sh $name) if [[ "$java_test" == *passed* ]] then java_count=`expr $java_count + 1` fi echo $java_test total_java=`expr $total_java + 1` fi done echo "$java_count of $total_java Java tests passed”

16 #!/bin/sh if diff -w -E -b -B "Test/$1/Translated.java" "Test/$1/ExpectedJava.java" >/dev/null ; then echo $1 Java test passed! else echo $1 Java test failed! fi

17 HelloWorld.wow OneNodeOnlyCombine.wow TwoNodes.wow TwoNodesMultipleOutput.wow ThreeNodesLinear.wow ThreeNodesEndBlock.wow FourNodesComplex.wow

18

19 The test results shown in the previous slides where obtained at 100% pass rate after multiple testing iterations. There were few bugs in parsing and translating which where caught during testing.

20

21 White Paper LRM Take-off Target Code Design Ready AST & Translator Ready Library Functions Added Assignment Overload

22 https://github.com/amoljoshi/PLTWOW

23 “ IBM project management better, but not applicable” - Amol Joshi (System Integrator) “The time spent upfront to make regression tests is worth the effort” – Chaitanya Korgaonkar (Verifier and Validator) “Collaborative programming is not difficult if every member of the team is informed about the architecture” – Dharmen Mehta(Program Manager) “Done is better than perfect! Do not waste excess time on finer details” – Nimai Buch(Language Guru) “Take your time to build a good architecture, but make sure it is close to perfect when you’re done.” – Yash Parikh (System Architect)

24


Download ppt "Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier."

Similar presentations


Ads by Google