Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

Cultivate Tasks

Cultivate: Using Cultivate via the User Interface


  1. Extract the provided Zip
    1. Eclipse with Cultivate preinstalled
    2. Portable SWI-Prolog distribution (for Windows)
    3. Workspace with a small sample project “ThreeKeyCupApp”

Exploring the Names

  • Goal: Learn how to get an overview what the program is about


  • Prepare a sheet of paper and a pen
  • Open the term cloud view
  • Navigate through packages and classes
  • Enable not only tf but also tf-idf.
  • Find out what the most important names are.
  • Write down your first impression what the code is about.
  • Study the code to understand the meaning of the most important terms.
  • Optional: If you are through with ThreeKeyCupApp you might explore cGeo

We will have a feedback session after this experiment.

Explore the Smells

  • Goal: Learn how to understand the smell presentation
  • Open the smell perspective
  • Unpress link to editor
  • Explore the smells
  • Compare the code with the smell details view.
  • Understand what is represented.
  • Discuss whether you have suggestions to improve the code.

Defining an Architecture

  • Goal: Learn how to define an architecture


  1. Enable all architecture definition smells:
    • package_assigned_to_no_layer
    • package_assigned_to_multiple_layers
  2. Create an architecture file: Working with Architectures
  3. Find out what is wrong with the current implementation (You might want to consult the “Structures Diagrams” / Analysis Diagram - Package Dependencies)
  4. Discuss with your partner how an reasonable architecture could look like.
  5. Check back with a tutor (team leader, expert, customer) about your suggestion.
  6. Use the graphical editor to define the architecture

Hint: The smell view is only updated, if the project is recompiled (bug). Therefore you need to trigger a compilation to get the architecture definition smells updated.

Respecting the Architecture

  • Goal: Learn how correct architecture violations


  1. Enable the architecture checking smell:
    • layer_access_rules_violated
  2. Navigate through the code and get an idea how to fix the problem
  3. Check back with one of the tutors whether your plan is good.
  4. The changes will include quite some editing!
  5. Finally enjoy that the red cycle in the diagram has disappeared.

We will meet afterwards for a feedback session.

Cultivate Expert

Using Cultivate with Prolog

  • JTransformer: Factbase Inspector, Copy facts, … Getting Started
  • Generic Table View
  • Zest Graph view
  • Structure Definition
  • Working with museums
teaching/lectures/atsc/2012/cultivate_tasks.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024