ABQMT: a best quality map technology

entomologistsamoanSoftware and s/w Development

Aug 15, 2012 (4 years and 8 months ago)

261 views

Aryeh Tasher

Brian Ramos

Qijun Zhong

Michael Li

Tian Zhang

What is ABQMT?




What does it do?


Who can use it?


The best programming language ever?

Motivation


Computer scientists love graphs!


Programming simple graphics in Java is too confusing
(Swing, AWT, etc.)


We want to use simple syntax to describe simple maps


We don’t like Java


We want a good grade in PLT

The Solution


ABQMT!


Makes the creation of simple maps easy and efficient


Let’s take a look at a simple map we would want to
describe…

A Simple Map



Too much Java Code



ABQMT to the rescue!

ABQMT’s Solution

Nodes Declarations

Edges and Anchors

Make Connections

S
yntactic
C
onstruction

Demo; //First line: the name of the map file

Map Attributes //
x

and
y

size,color,name

Startmap
; //equivalence of main block in C

Nodes declarations //declare nodes and initialize attributes

Edges declarations //declare edges and initialize attributes

Make connections //draw the map

Endmap
; //end of program

The ABQMT Interpreter



We need Java classes to provide templates and
definitions for drawing windows and objects (shapes,
edges etc.)


Our interpreter includes these templates then translate
ABQMT function into java code based on these
templates

Example



ABQMT: Node x = new node(55,55,RED,5,CIRCLE)





ABQMT interpreter

JAVA: Circle x = new circle(55,55,RED,5,CIRCLE)



x.paintNode(Graphics G);






Translator Architecture

Testing


Script that iterated through tests and then printed out type
information and displayed maps


Print error messages when failed


AntlrWorks for grammar debugging


Tools Used


Front End: AntlrWorks


We use it to construct recognizers, interpreters, compilers, and
translators from grammatical descriptions containing actions in
Java


Back End: Eclipse and NetBeans (Java) for static semantic
analysis


Version Control: SVN


It is used to maintain current and historical versions of files such as
source code

Conclusion


ABQMT is valuable to new and experienced programmer
alike


ABQMT is better than Java!

Lesson Learned


Team communication is valuable


SVN


Google groups


Schedule

Demo


Now for the ABQMT version of the Manchester map…