# "DevelopmentPlan.dot"
#	$Id: DevelopmentPlan.dot,v 1.10 2006/04/11 07:54:32 fang Exp $

digraph G {
size="7,10";

ARTXX_00_01_04		[shape=box, style=filled, label="ART++ 0.1.4"];
ARTXX_00_01_04_b	[shape=box, style=filled, 
				label="ART++ 0.1.4 (b)"];
ARTXX_00_01_04_c	[shape=box, style=filled, label="ART++ 0.1.4 (c)"];
HACKT_00_01_05		[shape=box, style=filled, fillcolor=green,
				label="HACKT 0.1.5"];
HACKT_00_01_06		[label="HACKT 0.1.6", shape=box];
GRADUATION		[label="Ph.D.", shape=octagon];

DOCS_00_01_04		[shape=ellipse, style=filled, fillcolor=yellow, 
				label="language spec.\ndocumentation"];
PARSER_00_01_04		[shape=ellipse, style=filled, 
				label="general parser\nimprovements"];
LEX_00_01_04		[shape=ellipse, style=filled,
				label="lexer token\npositions"];
TOKENPOOL_00_01_04	[shape=ellipse, style=filled, label="token pooling"];
NODELIST_00_01_04	[shape=ellipse, style=filled, 
				label="node-list\ntemplate"];
PARSER_B_00_01_04	[shape=ellipse, style=filled,
				label="parser phase 2"];
MULTIFILE_00_01_04	[shape=ellipse, style=filled, label="multi-file input"];
IMPORT_00_01_05		[shape=ellipse, style=filled, fillcolor=yellow,
				label="import/exporting"];
UNIQUE_00_01_04		[shape=ellipse, style=filled, 
				label="unique instantiation"];
ALIAS_00_01_04		[shape=ellipse, style=filled, label="alias connection"];
PORT_00_01_04		[shape=ellipse, style=filled, label="port connection"];
MEMBER_00_01_04		[shape=ellipse, style=filled, label="member reference\nunrolling"];
TYPEDEF_00_01_04	[shape=ellipse, style=filled, label="typedef unrolling\nresolution"];
DEFFAMILY_00_01_04	[shape=ellipse, style=filled, 
				label="definition families"];
DEFLAYOUT_00_01_04	[shape=ellipse, style=filled,
				label="definition layout"];
INSTSTMT_00_01_04	[shape=ellipse, style=filled, 
				label="rework inst. stmt.\ntemplates"];
TYPEREF_00_01_04	[shape=ellipse, style=filled, 
				label="rework type\nreference templates"];
EXTTEMPLATE_00_01_04	[shape=ellipse, style=filled, label="extended\ntemplate signatures"];
CONNECTEQ_00_01_04	[shape=ellipse, style=filled, 
				label="connection\ntype-equivalence"];
CFLAT_00_01_04		[shape=ellipse, style=filled, 
				label="CFLAT backward\ncompatbility"];
PRS_00_01_04		[shape=ellipse, style=filled, label="PRS type-check"];
ERRORTREE_00_01_04	[shape=ellipse, label="error tree\nconstruction"];
MULTIPARSE_00_01_04	[shape=ellipse, style=filled, fillcolor=yellow, 
				label="multiple\nmodular parsers"];

ARTXX_00_01_04 -> DOCS_00_01_04;
ARTXX_00_01_04 -> PARSER_00_01_04;
ARTXX_00_01_04 -> ALIAS_00_01_04;
PARSER_00_01_04 -> LEX_00_01_04;
PARSER_00_01_04 -> TOKENPOOL_00_01_04;
PARSER_00_01_04 -> NODELIST_00_01_04;
LEX_00_01_04 -> PARSER_B_00_01_04;
TOKENPOOL_00_01_04 -> PARSER_B_00_01_04;
NODELIST_00_01_04 -> PARSER_B_00_01_04;
ALIAS_00_01_04 -> PORT_00_01_04;
PORT_00_01_04 -> UNIQUE_00_01_04;
MEMBER_00_01_04 -> UNIQUE_00_01_04;
UNIQUE_00_01_04 -> ARTXX_00_01_04_c;
ARTXX_00_01_04_b -> DEFLAYOUT_00_01_04;
ARTXX_00_01_04_b -> DEFFAMILY_00_01_04;
EXTTEMPLATE_00_01_04 -> CONNECTEQ_00_01_04;
ARTXX_00_01_04 -> TYPEDEF_00_01_04;
DEFLAYOUT_00_01_04 -> MEMBER_00_01_04;
DEFLAYOUT_00_01_04 -> PORT_00_01_04;
ALIAS_00_01_04 -> INSTSTMT_00_01_04;
INSTSTMT_00_01_04 -> ARTXX_00_01_04_b;
ARTXX_00_01_04_b -> EXTTEMPLATE_00_01_04;
ARTXX_00_01_04_b -> TYPEREF_00_01_04;
TYPEREF_00_01_04 -> ARTXX_00_01_04_c;
TYPEDEF_00_01_04 -> UNIQUE_00_01_04;
TYPEDEF_00_01_04 -> EXTTEMPLATE_00_01_04;
PARSER_B_00_01_04 -> PRS_00_01_04;
PARSER_B_00_01_04 -> MULTIFILE_00_01_04;
MULTIFILE_00_01_04 -> IMPORT_00_01_05;
UNIQUE_00_01_04 -> PRS_00_01_04;

ARTXX_00_01_04_c -> HACKT_00_01_05;
PRS_00_01_04 -> CFLAT_00_01_04;
ARTXX_00_01_04_c -> CFLAT_00_01_04;
MULTIFILE_00_01_04 -> CFLAT_00_01_04;
CONNECTEQ_00_01_04 -> ARTXX_00_01_04_c;
DOCS_00_01_04 -> HACKT_00_01_05;
PARSER_B_00_01_04 -> ERRORTREE_00_01_04;
ERRORTREE_00_01_04 -> HACKT_00_01_05;
PARSER_B_00_01_04 -> MULTIPARSE_00_01_04;
MULTIPARSE_00_01_04 -> HACKT_00_01_05;
CFLAT_00_01_04 -> HACKT_00_01_05;

CHP_00_01_05		[shape=ellipse, style=filled, fillcolor=yellow, 
				label="CHP type-check"];
CHPSYNTH_00_01_05	[shape=ellipse, label="CHP synthesis"];
CHPSIM_00_01_05		[shape=ellipse, label="CHP simulation"];
PRSIM_00_01_05		[shape=ellipse, label="PRSIM\nsimulation f.w.", 
				style=filled, fillcolor=yellow];
MIXSIM_00_01_05		[shape=ellipse, label="mixed simulation"];

PRS_ATTR		[label="PRS attributes", shape=ellipse,
				style=filled, fillcolor=gray];
CHP_ST			[label="static token", shape=ellipse];
CHP_DFA			[label="dataflow analysis", shape=ellipse];
XLAT_LIB		[label="translation\ntemplate library", shape=ellipse];
CHP_SDT			[label="syntax-directed\ntranslation PRS", 
				shape=ellipse];
SIMPROF			[label="simulation profiling", shape=ellipse];
CHPXFORM		[label="CHP transformation\nframework",
				shape=ellipse, peripheries=2];
PERF_EVAL		[label="design evaluation", shape=ellipse];
XFORM_XPLORE		[label="transformation\nexploration", shape=ellipse,
				peripheries=2]
DSPACE_DB		[label="design-space\ndatabase", shape=ellipse];

HACKT_00_01_05 -> CHP_00_01_05;
CHP_00_01_05 -> CHPSYNTH_00_01_05;
CHP_00_01_05 -> CHPSIM_00_01_05;
PRS_00_01_04 -> PRSIM_00_01_05;
HACKT_00_01_05 -> PRSIM_00_01_05;
PRSIM_00_01_05 -> MIXSIM_00_01_05;
PRSIM_00_01_05 -> SIMPROF;
CHPSIM_00_01_05 -> MIXSIM_00_01_05;
PRS_ATTR -> PRSIM_00_01_05;
CHPSYNTH_00_01_05 -> CHP_ST;
CHPSYNTH_00_01_05 -> CHP_DFA;
CHPSYNTH_00_01_05 -> CHP_SDT;
CHPSYNTH_00_01_05 -> CHPXFORM;
SIMPROF -> PERF_EVAL;
XLAT_LIB -> CHP_SDT;
CHP_SDT -> PERF_EVAL;
PERF_EVAL -> XFORM_XPLORE;
CHP_DFA -> XFORM_XPLORE;
CHPXFORM -> XFORM_XPLORE;
MIXSIM_00_01_05 -> HACKT_00_01_06;
XFORM_XPLORE -> HACKT_00_01_06;
PERF_EVAL -> DSPACE_DB;
CHPXFORM -> DSPACE_DB;
DSPACE_DB -> HACKT_00_01_06;
XFORM_XPLORE -> GRADUATION;
DSPACE_DB -> GRADUATION;


}

