-
Notifications
You must be signed in to change notification settings - Fork 3
/
README
131 lines (83 loc) · 4.48 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
REQUIREMENTS
In order to run giant the following components need to be installed
on the system:
* gnat 3.14p
* GtkAda 2.2.0
* xmlada 0.7.1
RUN
Run the giant script from like this: ./giant.
INSTALL
Copy the giant executables, the etc/ and shared/ directory to your
favourite destination.
COMPILE
* Linux / Solaris
cd src; make
To execute the compiled binary do:
cd src/giant
And call ./giant-Linux or ./giant-SunOS .
QUICKSTART
1. Type ./giant.
=> The GIANT main window is opened.
2. Select Project / Open.
=> "Open Project" is opened
3. Type "samples/project.xml" into the input filed and press "OK".
4. Double click any of the items in the window list.
=> A graph window is opened.
5. Have Fun
---------------------------------------------
OLD Project Info
http://giant.berlios.de/
Overview
The GIANT project is about the development of a fast browsing tool for large graphs with
enhanced analysis features like multiple selections and a fully integrated scripting language.
The development team is 6 persons, all students of the University of Stuttgart, Germany.
The project is part of our studies in Software Engineering.
The project was started in November 2002 and ran until November 2003.
It was supervised by the Department of Programming Languages .
GIANT was developed to display graphs that are used for reengineering purposes. These graphs are
basically abstract syntax trees with lots of additional semantic information.
The Project Bauhaus provides tools that can parse various programming languages and create a language independent representation called IML.
The IML graphs are made availble through a reflection interface that is supported by GIANT.
Even for small programms these graphs can have quite a large number of nodes and edges. In example a simple stack
implementation written in C with 39 SLOC results in a graph of 223 nodes and 683 edges.
The IML graph for the popular download tool wget contains more that 340,000 nodes and over 770,000 edges and occupies about 200 megabytes of memory!
Besides the requirement to display large graphs the application was to be developed in Ada using GtkAda.
Orginally GtkAda 1.2.13 was used but later replaced by 2.2.0. Other tools that were used include AUnit and XMLAda.
The GSL parser was generated by aflex and ayacc.
For the development of GIANT a classical phase-model approache was choosen that worked out very well.
During the course of the project important documentation like a specification and a manual were created.
This page is meant as a project documentation and will hopefully be useful for other similar projects (like other Studienprojekte).
Features
The specification contains a detailed description of GIANT's capabilities in German. See below for a list of the major features:
- Smooth navigation through large graphs (> 100,000 nodes)
- Advanced edge selection
- Extensible scripting language
- Customizable menus through GSL scripts
- Flexible and easy to replace reflection interface for graph reading
- Interruptable operations
- Available for Linux, Solaris and Windows
Requirements
The binary distribution of GIANT should work on most machines. The Linux version was compiled on a Debian GNU/Linux system.
Please make sure you have GtkAda 2.2.0 installed if using the dynamically linked version.
The Team
A successful project requires many people to play many roles.
Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
The team is comprised of Members and Contributors .
Members have direct access to the source of a project and actively evolve the code-base.
Contributors improve the project through submission of patches and suggestions to the Members.
The number of Contributors to the project is unbounded.
Get involved today. All contributions to the project are greatly appreciated.
Members
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
- Philipp Haeuser birdy Developer
- Steffen Keul keulsn Developer
- Oliver Kopp koppor Developer
- Gerrit Schulz schulzgt Developer
- Steffen Pingel squig Configuration Management Developer
- Martin Schwienbacher schwiemn Developer Project Manager
The following tools and libraries are required in order to compile the source code. Please edit the Makefile to reflect your local settings and path locations.
- Bauhaus Tools
- GNAT 3.15
- GtkAda 2.2.0
- XMLAda 0.7.1
- AUnit 1.0.1