The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered -...
-
Upload
noreen-miller -
Category
Documents
-
view
213 -
download
0
Transcript of The TASKADE Programming Language by TEAM 9 Andrey Dimitrov - Project manager Christopher Riedered -...
The TASKADEProgramming Language
by TEAM 9Andrey Dimitrov - Project manager
Christopher Riedered - Language GuruAvner May - System ArchitectJoyce Kim - System Inegrator
Taury Di Cioccio - System Tester
TASKADEWhen life gives you tasks ...
Conventional scheduling applications are context specific.
TAKSADE allows the user to program their own context is a simple and intuitive language.
Taskade Usage
Students and Professionals can use TASKADE to schedule work, study, and everything in
between
Taskade Usage
Scheduling with Taskade
o Accessibleo Intuitiveo Flexibleo Productiveo Multi-Platform
Language Keywords
o Accessibleo Intuitiveo Flexibleo Productiveo Multi-Platform
A syntax with clear, English keywords. For example: if, else, end, Number
Language Keywords
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
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
o Accessibleo Intuitiveo Flexible
o Productiveo Multi-Platform
Easy to quickly create a schedule.Taskade handles tasks large and small.
Language Keywords
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
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
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
Development Environment
Translator Architecture
From source.ts to java code...
Runtime Architecture
Runtime Scheduling Engine
Testing Method
• Explore protected methods
• Confirm basic functionality
White-Box Testing Method - Node
• Focus on testing critical functions
White-Box Testing Method - Trees
• "Ideal" schedules to verify consistency
• "Impossible" schedules to see what happens
• Focus on helpful error output
Black-Box Testing: Simulation
Live Demo!!!