Skip to content

Kiel Master Project SS 17

Reiner Jung edited this page Apr 10, 2018 · 3 revisions

In this year's master project, we address three tasks to achieve a better modularized and integrated analysis for iObserve.

Below you find the three task description and further links which might be helpful. For each task, we created a separate wiki page which you may use to document your efforts, describe the requirements, the design and implementation of your software. In case you have to perform reverse engineering you also document the old design of the software. Please make use of the ticket system to document features which realize requirements.

General Approach

  • Install an appropriate IDE, e.g. Eclipse
  • Have a look at all the technology which is related to your task (use your favorite search engine)
    • If there are tutorials available use them to make you familiar with the technology
    • Sometimes there exist vlog posts on youtube which explain how to use a specific technology
  • Setup your Eclipse development environment (in case you are using it, otherwise you have to adjust the code formatting and implementation settings of your IDE). You find the necessary information here
  • Have a look at the existing iobserve-analysis (task 1 and 2)
  • Have a look at Kieker (task 3) especially how writers are constructed. As the writer architecture changed recently, we have to discuss this with the author (Christian Wulf)
  • Collect your requirements (we will discuss them in our weekly meetings)
  • Come up with a design (we will discuss that in our weekly meetings)
  • Testing is an important element of software development. Therefore, come up with a plan to implement testing (unit-testing, e.g., JUnit4 and integration testing).
  • Write user documentation
  • Compile a presentation at the end of the master project

Note: In case you have trouble setting up your IDE or accessing repositories, please consult Reiner or Marc by mail or visit them in their office.

Task Descriptions

Development of a Software-Knowledge-Repository

Until now, the analysis uses files to store information about the observed system. This has the disadvantage that when different analyses want to read and modify the information simultaneously, information might get lost or is overwritten. To solve this issue, we need a knowledge repository which is able to handle concurrent access and different versions of the system. We propose to use Neo4J to serialize and query the information.

Note: Palladio packages are available in the iobserve-repository

Your task landing page is here

Integration of the Deployment Visualization and Analysis

The iObserve analysis already has filters to handle deployments and undeployments as well as allocations and deallocations, which modify the model in the central knowledge repository. However, these filters cannot talk to the deployment visualization. Furthermore, the visualization lacks information on performance and other qualities, which can also be visualized. Finally, the visualization must be extended to be able to represent user groups (as elements of the deployment and architecture) and connected to the user-behavior visualization.

Related repositories:

Your task landing page is here

Collection of Allocation and Resource Utilization via SNMP

Beside deployments and allocations, iObserve must be able to collect resource utilization of hosts and also network devices. Therefore, Kieker must be supplemented to support for SNMPv2/3 and be able to retrieve SNMP messages and map them to Kieker records. In addition it should be possible to activate and deactivate SNMP monitoring.

Additional information can be found here:

Main goals are:

  • a reader for SNMP messages which allows to map SNMP messages to onto Kieker records.
  • an abstract Kieker agent, which can be extended/subclassed to be able to send specific monitoring data via SNMP.

Your task landing page is here