dharmen mehta (project manager) nimai buch (language guru) yash parikh (system architect) amol joshi...
TRANSCRIPT
![Page 1: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/1.jpg)
Dharmen Mehta (Project Manager)
Nimai Buch (Language Guru)
Yash Parikh (System Architect)
Amol Joshi (System Integrator)
Chaitanya Korgaonkar (Verifier and Validator)
![Page 2: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/2.jpg)
Need to simulate workflows of complex processes
This stuff can get complex !!
No kidding !
![Page 3: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/3.jpg)
![Page 4: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/4.jpg)
Need to simulate workflows of complex processes
Need to KISS !! (Keep It Simple Silly)
A means to analyze and produce statistical results
![Page 5: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/5.jpg)
A language designed to handle workflows in industries
Java-like syntax
Aimed at easier design, simulation and analysis of workflows
![Page 6: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/6.jpg)
![Page 7: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/7.jpg)
• Resource• Final• Times
(x)
• Nodes• Input• output
• Connections
• Computations
• End Block
Resources Block
Nodes Block
Connections Block
End BlockCompute Block
![Page 8: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/8.jpg)
The New Guys
WoWNode
WoWNodes
x
convert, combine
WoW Library
The Old Timers
int
String
double
boolean
if, foreach, while…
![Page 9: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/9.jpg)
![Page 10: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/10.jpg)
Source Program
*.WoW
Library Functions Package
Lexer
WoW.jflex
Parser
WoW.y
AST Traversal
WoW.y
NodeThread.java
Target Program
MainClass.java
Symbol
Table
Hash Tables
ConnectionChecks.java
top_include_target.txt
end_include_target.txt
![Page 11: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/11.jpg)
Use JVM on user’s environmentMakefile!
translatewowcompilewowrun
Runtime script executes the Parser on the WoW program./wow WoWPrograms/Audi.WoW
![Page 12: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/12.jpg)
![Page 13: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/13.jpg)
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.
![Page 14: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/14.jpg)
test_script.shTests all the test programs in a loop. Outputs the number of test cases run and the result of the testing.
compare_java.shHelper script called by test_script.sh which does actual part of comparing the two java programs using the diff command.
![Page 15: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/15.jpg)
#!/bin/bashjava_count=0total_java=0for D in `find Test -type d`doif [ "${D}" != "Test" ] thenname=$(basename ${D})java_test=$(./compare_java.sh $name)if [[ "$java_test" == *passed* ]]thenjava_count=`expr $java_count + 1`fiecho $java_test total_java=`expr $total_java + 1` fidoneecho "$java_count of $total_java Java tests passed”
![Page 16: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/16.jpg)
#!/bin/shif diff -w -E -b -B "Test/$1/Translated.java"
"Test/$1/ExpectedJava.java" >/dev/null ; thenecho $1 Java test passed!elseecho $1 Java test failed!fi
![Page 17: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/17.jpg)
HelloWorld.wow
OneNodeOnlyCombine.wow
TwoNodes.wow
TwoNodesMultipleOutput.wow
ThreeNodesLinear.wow
ThreeNodesEndBlock.wow
FourNodesComplex.wow
![Page 18: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/18.jpg)
![Page 19: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/19.jpg)
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.
![Page 20: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/20.jpg)
![Page 21: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/21.jpg)
White Paper
LRM
Take-off
Target Code Design Ready
AST & Translator Ready
Library Functions Added
Assignment Overload
![Page 22: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/22.jpg)
https://github.com/amoljoshi/PLTWOW
![Page 23: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/23.jpg)
“ 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)
![Page 24: Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier](https://reader036.vdocument.in/reader036/viewer/2022062322/5697c0091a28abf838cc7133/html5/thumbnails/24.jpg)