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

W ork O n W orkflows

Jan 12, 2016

Download

Documents

markku

W ork O n W orkflows. Dharmen Mehta (Project Manager) Nimai Buch (Language Guru) Yash Parikh (System Architect ) Amol Joshi (System Integrator) Chaitanya Korgaonkar (Verifier and Validator). Why WoW ? (Our Motivation). Need to simulate workflows of complex processes - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: W ork  O n  W orkflows

Dharmen Mehta (Project Manager)

Nimai Buch (Language Guru)

Yash Parikh (System Architect)

Amol Joshi (System Integrator)

Chaitanya Korgaonkar (Verifier and Validator)

Page 2: W ork  O n  W orkflows

Need to simulate workflows of complex processes

This stuff can get complex !!

No kidding !

Page 3: W ork  O n  W orkflows
Page 4: W ork  O n  W orkflows

Need to simulate workflows of complex processes

Need to KISS !! (Keep It Simple Silly)

A means to analyze and produce statistical results

Page 5: W ork  O n  W orkflows

A language designed to handle workflows in industries

Java-like syntax

Aimed at easier design, simulation and analysis of workflows

Page 6: W ork  O n  W orkflows
Page 7: W ork  O n  W orkflows

• Resource• Final• Times

(x)

• Nodes• Input• output

• Connections

• Computations

• End Block

Resources Block

Nodes Block

Connections Block

End BlockCompute Block

Page 8: W ork  O n  W orkflows

The New Guys

WoWNode

WoWNodes

x

convert, combine

WoW Library

The Old Timers

int

String

double

boolean

if, foreach, while…

Page 9: W ork  O n  W orkflows
Page 10: W ork  O n  W orkflows

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: W ork  O n  W orkflows

Use JVM on user’s environmentMakefile!

translatewowcompilewowrun

Runtime script executes the Parser on the WoW program./wow WoWPrograms/Audi.WoW

Page 12: W ork  O n  W orkflows
Page 13: W ork  O n  W orkflows

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: W ork  O n  W orkflows

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: W ork  O n  W orkflows

#!/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: W ork  O n  W orkflows

#!/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: W ork  O n  W orkflows

HelloWorld.wow

OneNodeOnlyCombine.wow

TwoNodes.wow

TwoNodesMultipleOutput.wow

ThreeNodesLinear.wow

ThreeNodesEndBlock.wow

FourNodesComplex.wow

Page 18: W ork  O n  W orkflows
Page 19: W ork  O n  W orkflows

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: W ork  O n  W orkflows
Page 21: W ork  O n  W orkflows

White Paper

LRM

Take-off

Target Code Design Ready

AST & Translator Ready

Library Functions Added

Assignment Overload

Page 22: W ork  O n  W orkflows

https://github.com/amoljoshi/PLTWOW

Page 23: W ork  O n  W orkflows

“ 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: W ork  O n  W orkflows