Title: Rapid Software Prototyping Using Visual Language Techniques
1Rapid Software Prototyping Using Visual Language
Techniques
- Kang ZHANG Guang Lei SONG Jun KONG
- Department of Computer Science
- University of Texas at Dallas
- Richardson, Texas 75083-0688, USA
2Outline
- Motivation and basic idea
- Design Criteria
- Meta-Tool Concept
- Specification and Verification Through Graph
Grammars - A Prototyping Example
- Conclusions and Future Work
3Motivation and Basic Idea
- No commonly accepted executable specification
language for computer-aided prototyping - Few specification or prototyping languages/tools
support non-disposable prototyping - Being executable and graphical, visual languages
and their automatic generation mechanisms
suitable for rapid prototyping - To have meta-tool capability to automatically
generate visual executable prototyping languages
(VEPLs)
4Design Criteria
- Automatic generation of VEPLs upon specs
- Support for syntactic and semantic specifications
- Customizable and support for incremental
prototyping
5The Meta-Tool Concept
6The Meta-Tool Concept
7Specification and Verification - Reserved Graph
Grammars
- The Reserved Graph Grammar (RGG) formalism
defines context-sensitive graph grammars for
diagrammatic visual languages. -
- It is expressive in defining various types of
graph formalisms and efficient in parsing most
types of graphs Zhang and Zhang 1997, 2001.
8Reserved Graph Grammar Node Structure
super-vertex
M
aNode
B
I
T
vertex
9Reserved Graph Grammar - Productions
DTGS
VDB
TollGate
A
T1
V
S
C
L
10Reserved Graph Grammar Syntax-Directed
Computations
- Attributes and action code associated with each
production. - E.g. to retrieve payment information for a
vehicle and update the vehicles information in
database system - Action(AAMGraph g)
- If (Car.Authorized true)
- TollGate.ConnectDataBase()
- DataBase.UpdateInfo(Car)
-
11A Prototyping Example
- System Requirements
- Identification of System Modules
- Rule Specification
- Prototyping Using the Generated VEPL
12A Prototyping Example- System Requirements
- In a road traffic pricing system, drivers of
authorized vehicles are charged at tollgates
automatically. The tolls are placed at special
lanes called green lanes. A driver has to install
a device (called an EzPay) inside his/her
vehicles windshield in order to pass a green
lane. - Each tollgate has a sensor that reads EzPay.
When an authorized vehicle passes through a green
lane, the green light is turned on, and the
amount being debited is displayed. If an
unauthorized vehicle passes through a green lane,
a yellow light is turned on and a camera takes a
photo of the vehicles license plate.
13A Prototyping Example- Identification of System
Modules
Visual Object Tool (VOG)
14A Prototyping Example- Rule Specification
Formal Method Tool (RuleGenerator)
15A Prototyping Example- Rule Specification
Formal Method Tool (RuleGenerator)
16A Prototyping Example- Production set
lt1gt
Action(AAMGraph g) If (Car.Authorized
true) TollGate.ConnectDataBase(
) DataBase.UpdateInfo(Car)
DTGS
TollGate
A
V
S
C
L
lt2gt
lt3gt
Action(AAMGraph g) Car
Sensor.DetectEZPAY()
Sensor
EZCard
T3
E
S2
Action(AAMGraph g) If (Car.Authorized
true) Light.Set(Green)
TollGate.Display() else
Light.Set(Yellow)
lt4gt
Camera
T5
Light
T4
17A Prototyping Example- Prototyping Using the
Generated VEPL
18Conclusion and Future Work
- Summarized advantages
- Auto-generation mechanism
- Non-disposable prototyping
- Natural support for verification
- Programmers knowing no formal methods able to use
VEPLs for prototyping
19Conclusion and Future Work
- A main challenge necessity of graph grammar
expertise for writing VEPL grammars - Aim at a semi-automatic tool for generating
production rules according to sample VEPL
prototypes and user-provided hints - Conduct empirical studies to compare our visual
approach with traditional approaches
20Thank you