|
|
### Overview of ATHENs components and core functionality
|
|
|
### Overview into the project folder structure of ATHEN
|
|
|
|
|
|
ATHEN is an application based on eclipse 4 RCP, which means every a couple of things:
|
|
|
|
... | ... | @@ -53,4 +53,35 @@ The following picture shows the current situation of this folder: |
|
|
|
|
|
<img src="/uploads/6878b791f8fb432e1ac9f1169620d518/relengFolderStructure.PNG" alt="RelEng Folder strcture" style="width: 640px;" style="height: 480px;"/>
|
|
|
|
|
|
### ATHENs layout
|
|
|
|
|
|
If you want to work on ATHEN you should understand the terminology that is introduced with ATHEN. Below there is a picure of the layout which appears after you start ATHEN:
|
|
|
|
|
|
<img src="/uploads/47fe1f2dd0cb9b6cc48ea0135d040502/ATHEN-building.PNG" alt="ATHEN building" style="width: 640px;" style="height: 480px;"/>
|
|
|
|
|
|
As you can see there are four different parts of ATHEN:
|
|
|
|
|
|
1. The Project Explorer
|
|
|
2. The Editor
|
|
|
3. The Views
|
|
|
4. The Analyzer
|
|
|
|
|
|
This section walks through the four different parts of ATHEN and explains their purpose. But first, the core ideas of their common behaviour needs to be addressed.
|
|
|
|
|
|
## Eclispe 4 RCP -Parts
|
|
|
|
|
|
Every different implementation of an editor, a view or an anayzer is inherently something called a part (in the code those come as MPart instances). Every part contains different code for their own purpose. A part can be visible or hidden, which gives an easy way to define something called perspectives (yes a perspective is just a bunch of visible parts). All those parts are located within a window - The main application window.
|
|
|
|
|
|
Parts can communicate using the eclipse 4 RCP bus, which is called the EventBroker. Using this bus system, parts can communicate and notify other parts whenever necessary. The broker can be considered a global variable which exists once for the whole application. Every class which has access to the broker can send events using its *send* method and can register for events using the *subscribe()* und *unsubscribe()* methods.
|
|
|
|
|
|
|
|
|
## Parts in ATHEN
|
|
|
|
|
|
If you start ATHEN, you usually end up in the annotation perspective. In this perspective you will always see the previously shown layout of the parts, with only the project explorer being visible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|