SDA SE Wiki

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

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:labs:xp:2009a:high_level_architecture [2009/03/18 11:42]
sebastian.jancke
teaching:labs:xp:2009a:high_level_architecture [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== High Level Architecture ======
  
 +**Preview**
 +
 +More details can be found in the repository: https://​svn.iai.uni-bonn.de/​repos/​IAI_Software/​xp/​agile2009a/​Architecture/​
 +
 +{{:​teaching:​labs:​xp:​2009a:​cultivatearchitecture.png|}}
 +
 +==== Changed Concepts ==== 
 +The concept //​Detector//​ vanishes is is replaced by the concept //Query// and subsoncepts //Metric//, //​Smelldetector//​ and special typed queries, such as //​TermFrequencyQuery//​ and //​TermSurprisingnessQuery//​. That way, we only need to implement scheduling and caching for the query concept and it will work for everything we are doing.
 +
 +==== Plugins and their responsibilities ====
 +
 +=== Domain independent plugins ===
 +  - The core (**org.cs3.cultivate.core**):​ Handles eclipse lifecycle of cultivate, provides interface to PDT and abstraction of query results. Queries are executed and cached by the repository, the refresher takes care of rescheduling queries.
 +  - Basics (**org.cs3.cultivate.basic**):​ Abstraction of smells and metrics (in Java and Prolog); contains set of basic predicates for analysis and metric computation;​ provides common metrics
 +  - Generic UI (**org.cs3.cultivate.genericui**):​ Generic result view for metrics and smells; Preference page for marker configuration;​ marker refresher takes care of markers being updated
 +
 +=== Domain specific plugins ===
 +  - Architecture (**org.cs3.cultivate.architecture**):​ Responsible for defining layers, assigning packages to layers and defining access rules between layers; checks if architecture is well defined and if any rules are violated.
 +  - Structural dependencies (**org.cs3.cultivate.structure**):​ Views for package/​class dependencies (in diagrams) and R.C.M. Metrics.
 +  - Conceptual Analysis (**org.cs3.cultivate.concepts**):​ View for a term cloud with tf & tfxidf metric.
 +
 +==== Layering inside a domain specific plugin (e.g. org.cs3.cultivate.structure) ====
 +There are three layers:
 +<​Code>​
 +      org.cs3.cultivate.structure.ui (in java, folder:src)
 +      org.cs3.cultivate.structure.analysis (in java, folder:src)
 +      prolog (folder for all the prolog files)
 +</​Code>​
 +
 +Naming conventions are given by this example.
 +
 +==== Dependencies between plugins ====
 +Domain specific plugins may depend on core and basic plugin.
teaching/labs/xp/2009a/high_level_architecture.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019