The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered -...

26
The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim - System Inegrator Taury Di Cioccio - System Tester

Transcript of The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered -...

Page 1: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

The TASKADEProgramming Language

by TEAM 9Andrey Dimitrov - Project manager

Christopher Riedered - Language GuruAvner May - System ArchitectJoyce Kim - System Inegrator

Taury Di Cioccio - System Tester

Page 2: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.
Page 3: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.
Page 4: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

TASKADEWhen life gives you tasks ...

Page 5: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Conventional scheduling applications are context specific.

TAKSADE allows the user to program their own context is a simple and intuitive language.

Taskade Usage

Page 6: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Students and Professionals can use TASKADE to schedule work, study, and everything in

between

Taskade Usage

Page 7: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Scheduling with Taskade

Page 8: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.
Page 9: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessibleo Intuitiveo Flexibleo Productiveo Multi-Platform

Language Keywords

Page 10: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessibleo Intuitiveo Flexibleo Productiveo Multi-Platform

A syntax with clear, English keywords. For example: if, else, end, Number

Language Keywords

Page 11: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessible

o Intuitiveo Flexibleo Productiveo Multi-Platform

Appearance similar to other languages like Matlab, Python, SQL.

Few and simple programming constructs make sure new users can't get into too much trouble.

Language Keywords

Page 12: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessibleo Intuitive

o Flexibleo Productiveo Multi-Platform

Scheduling commands with variables allow for a variety of scheduling options.

Input files give users the ability to schedule multiple sets of tasks the same way.

Language Keywords

Page 13: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessibleo Intuitiveo Flexible

o Productiveo Multi-Platform

Easy to quickly create a schedule.Taskade handles tasks large and small.

Language Keywords

Page 14: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

o Accessibleo Intuitiveo Flexibleo Productive

o Multi-Platform

Taskade compiles to Java bytecode, making it easily runnable from any computer with a JVM.

Language Keywords

Page 15: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

MyScheduler.ts:

TaskType homework(String class_name);

TaskType exercise(String gym_name);

FINISH homework AT LEAST 1:00 BEFORE START exercise;

March23.ti:

homework make_parser(duration 3:00, priority 9, deadline

04/16/2012@11:00, class_name "PLT");

homework networks_pset( duration 1:00, priority 3, deadline

03/29/2012@01:10, class_name "Networks");

exercise jog( duration 1:00, priority 7, deadline

03/25/2012@11:00, gym "Great Outdoors");

exercise lift(duration 1:00, priority 7, deadline

03/25/2012@11:00, gym "Columbia");

Language Example

Page 16: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

OptionScheduler.ts:

Input String mode;

TaskType homework(String class_name);

TaskType television();

if mode is "relax":

START television BEFORE START homework;

else

FINISH homework AT LEAST 3:00 BEFORE START television;

end

NowThatOurCompilerIsComplete.ti:

// Woohoo! Done writing the compiler!

String mode = "relax";

television GameOfThrones(duration 1:00, priority 9, deadline

05/13/2012@22:00);

Language Example

Page 17: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Development Environment

Page 18: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Translator Architecture

Page 19: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

From source.ts to java code...

Page 20: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Runtime Architecture

Page 21: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Runtime Scheduling Engine

Page 22: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Testing Method

Page 23: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

• Explore protected methods

• Confirm basic functionality

White-Box Testing Method - Node

Page 24: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

• Focus on testing critical functions

White-Box Testing Method - Trees

Page 25: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

• "Ideal" schedules to verify consistency

• "Impossible" schedules to see what happens

• Focus on helpful error output

Black-Box Testing: Simulation

Page 26: The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered - Language Guru Avner May - System Architect Joyce Kim.

Live Demo!!!