Wiki » History » Version 108

Komenda Antonín, 06/15/2014 03:58 PM

1 1 Komenda Antonín
h1. Alite
2 2 Komenda Antonín
3 76 Komenda Antonín
*Alite* _[’eilait]_ is a software toolkit helping with particular implementation steps during construction of multi-agent simulations and multi-agent systems in general. The goals of the toolkit are to provide highly _modular_, _variable_, and _open_ set of functionalities defined by clear and simple API. The toolkit does not serve as a pre-designed framework for a complex purpose, it rather associates number of highly refined functional elements, which can be variably combined and extended into a wide spectrum of possible systems. Alite is licensed under "LGPL3":http://www.gnu.org/licenses/lgpl-3.0.en.html.
4 9 Komenda Antonín
5 73 Komenda Antonín
{{>toc}}
6 73 Komenda Antonín
7 17 Komenda Antonín
h2. Documentation
8 1 Komenda Antonín
9 61 Komenda Antonín
h3. Alite Main
10 61 Komenda Antonín
11 17 Komenda Antonín
* [[Alite Overview]]
12 64 Komenda Antonín
* "JavaDoc":http://jones.felk.cvut.cz/alite-javadoc
13 66 Komenda Antonín
** "Vis3D module JavaDoc":http://jones.felk.cvut.cz/alite-vis3d-javadoc
14 42 Komenda Antonín
* [[Alite FAQ]]
15 17 Komenda Antonín
16 24 Komenda Antonín
* [[Alite and Aglobe]]
17 25 Komenda Antonín
* [[Synchronized Visualization]]
18 23 Komenda Antonín
19 93 Komenda Antonín
h3. Core
20 93 Komenda Antonín
21 97 Komenda Antonín
* [[Alite Overview#Creator|Creator]]
22 99 Komenda Antonín
* [[Alite Overview#Configuration|Configuration]]
23 99 Komenda Antonín
* [[Alite Overview#Common-Event-Queue|Common (Event Queue, Entity, Capability Register)]]
24 97 Komenda Antonín
* [[Alite Overview#Environment|Environment]]
25 97 Komenda Antonín
* [[Alite Overview#Simulation|Simulation]]
26 1 Komenda Antonín
* [[Alite Overview#Communication|Communication]]
27 98 Komenda Antonín
* [[Alite Overview#Planners|Planners]]
28 96 Komenda Antonín
* [[Alite Overview#Visualizations|Visualization (2D)]]
29 93 Komenda Antonín
30 93 Komenda Antonín
31 60 Komenda Antonín
h3. Modules
32 46 Komenda Antonín
33 87 Vokřínek Jiří
34 89 Komenda Antonín
* [[Config Reader]] _(configurator/configreader)_
35 1 Komenda Antonín
* [[Template Groovy Configurator]] _(configurator/templategroovy)_
36 85 Komenda Antonín
* [[ZeroMQ Communication]] _(zeromq)_
37 91 Komenda Antonín
* [[Protocol Buffers Based Messages]] _(protobuf)_
38 108 Komenda Antonín
39 1 Komenda Antonín
* [[Visualization 3D]] _(vis3d)_
40 1 Komenda Antonín
* [[KML Visio]] _(kmlvisio)_
41 1 Komenda Antonín
* [[Aglobe Adapter]] _(aglobeadapter)_
42 108 Komenda Antonín
43 108 Komenda Antonín
* [[trajectorytools:|Trajectory Tools]] _(trajectorytools)_
44 108 Komenda Antonín
* [[deconflictiontools:|Deconfliction Tools]] _(deconflictiontools)_
45 108 Komenda Antonín
* [[Domain-independent Multiagent Planning Tools]] _(dimaptools)_
46 108 Komenda Antonín
47 77 Komenda Antonín
48 79 Komenda Antonín
Experimental:
49 107 Komenda Antonín
* [[Visualizer2D]] _(visualizer2d)_
50 72 Komenda Antonín
* [[NetEmu]] _(netemu)_
51 66 Komenda Antonín
52 70 Komenda Antonín
h2. Conventions
53 1 Komenda Antonín
54 70 Komenda Antonín
h3. Feature Acceptance Process
55 2 Komenda Antonín
56 2 Komenda Antonín
* docs - javadoc, usage examples
57 1 Komenda Antonín
* tests - testing usage examples, testing complete documented functionality 
58 26 Komenda Antonín
* design compliance - loosely coupling, API centric
59 26 Komenda Antonín
60 63 Komenda Antonín
h3. Code ("Eclipse Formatter":http://jones.felk.cvut.cz/redmine/attachments/download/46/eclipse_formatter.xml)
61 26 Komenda Antonín
62 26 Komenda Antonín
* indentation: 4 spaces
63 26 Komenda Antonín
* no trailing whitespaces
64 26 Komenda Antonín
* coding style: http://java.sun.com/docs/codeconv/
65 36 Komenda Antonín
* maximum line width: 100
66 26 Komenda Antonín
* no standard Eclipse warnings and errors in cz.agents.alite package
67 84 Komenda Antonín
* no standard Eclipse errors in experimental modules (warnings are tolerated in experimental modules)
68 26 Komenda Antonín
69 27 Komenda Antonín
h3. Committing
70 26 Komenda Antonín
71 26 Komenda Antonín
* small atomic commits (logically bounded change)
72 26 Komenda Antonín
* commit whole branch
73 54 Komenda Antonín
* for larger changes in cz.agents.alite package do special branch
74 26 Komenda Antonín
* always use commit message
75 26 Komenda Antonín
* commit message has format: 
76 26 Komenda Antonín
<pre>
77 28 Komenda Antonín
One line of commit summary (fixes #XYZ)
78 26 Komenda Antonín
79 28 Komenda Antonín
Optionally explanation of the commit details.
80 1 Komenda Antonín
</pre>
81 54 Komenda Antonín
* if a commit fixes a redmine issue, add (fixes #XYZ) and redmine will automatically mark it as fixed (if the commit does not fix anything in redmine do not add (fixes #XYZ) into commit message)
82 34 Komenda Antonín
* in case of (fixes #XYZ), the commit summary should copy the title of the issue #XYZ
83 35 Komenda Antonín
* do not commit any commented-out code
84 1 Komenda Antonín
85 4 Komenda Antonín
86 4 Komenda Antonín
h2. Version Schema
87 4 Komenda Antonín
88 45 Komenda Antonín
major.minor(.revision|-SNAPSHOT)
89 2 Komenda Antonín
90 2 Komenda Antonín
* major = complete redesign (major API changes - no backward compatibility)
91 1 Komenda Antonín
* minor = larger changes/cumulated changes (minor API changes - as most as possible of backward compatibility, simply describable code migration process, e.g. method naming)
92 1 Komenda Antonín
* revision = fixes, new features (only compatible API changes - full backward compatibility)
93 45 Komenda Antonín
* SNAPSHOT = newest snapshot of major.minor version
94 4 Komenda Antonín
95 6 Komenda Antonín
h2. Repositories
96 1 Komenda Antonín
97 1 Komenda Antonín
On Mercurial ([[Mercurial|Mercurial on Smith tutorial]]):
98 104 Komenda Antonín
* *Alite core* - ssh://USER@smith.felk.cvut.cz//data/hg/alite
99 86 Komenda Antonín
** *Trajectory Tools* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/trajectorytools
100 100 Komenda Antonín
** *Deconfliction Tools* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/deconflictiontools
101 100 Komenda Antonín
** *DIMAP Tools* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/dimaptools
102 1 Komenda Antonín
** *Configurators*
103 88 Komenda Antonín
*** *Config Reader sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/configurator/configreader
104 1 Komenda Antonín
*** *Template Groovy Configurator sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/configurator/templategroovy
105 100 Komenda Antonín
** *Protobuf module sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/protobuf
106 100 Komenda Antonín
** *ZeroMQ module sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/zeromq
107 86 Komenda Antonín
** *Vis 3D module sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/vis3d
108 47 Komenda Antonín
** *KML Visio module sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/kmlvisio
109 65 Komenda Antonín
*** *Customized JAK module sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/kmlvisio/customjak
110 1 Komenda Antonín
** *Aglobe Adapter sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/aglobeadapter
111 82 Komenda Antonín
112 1 Komenda Antonín
* *Alite experimental*
113 106 Komenda Antonín
** *Visualizer2d sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/visualizer2d
114 72 Komenda Antonín
** *NetEmu sources* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/netemu
115 12 Jakob Michal
116 55 Komenda Antonín
* *Alite documents* - ssh://USER@smith.felk.cvut.cz//data/hg/alite/doc
117 55 Komenda Antonín
118 15 Jakob Michal
h2. Blueprints
119 14 Jakob Michal
120 13 Jakob Michal
Strategic areas of development:
121 13 Jakob Michal
* Reporting and Visualization -- post-analysis, replay, debugging support etc.
122 12 Jakob Michal
* Communication -- low-level (transport etc.) vs. high-level (protocols etc.)
123 13 Jakob Michal
* Agent Control (behavior modularization) -- activities vs. actions, agent memory etc.
124 13 Jakob Michal
* Graph/Network Environments -- representation of graph-based environments (streetnetworks etc.)