SDA SE Wiki

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

User Tools

Site Tools


Cultivate 0.3 M3, Separation into Plugins

Separation of Concerns

org.cs3.cultivate

must not have a dependency to eclipse.ui.* plugins

concerns

  • lifecycle
  • prolog interaction
  • detector and result repositories
  • logging
  • prolog detectors, prolog code

org.cs3.cultivate.ui

concerns

  • user interaction
    • views
    • perspective
    • markers
    • configuration pages
    • menu entries / actions
  • preferences (because they depend on org.eclipse.jface, which should only be referenced by the ui)

advantages of such a separation of concerns

  • org.cs3.cultivate can be used by other plugins than org.cs3.cultivate.ui that need to access detectors
  • clear separation of concerns makes it easier to use and understand the architecture, especially when hiding non-public packages in org.cs3.cultivate
  • dependencies are reduced so org.cs3.cultivate can be used in environments with a gui (idea: for detecting points where a software can be extended automatically?)
research/cultivate/cultivatepluginconcerns_v0_3m3.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019