Difference between revisions of "System Architecture"

From Heureka Wiki
Jump to navigation Jump to search
Line 16: Line 16:
 
[[file:Forest_and_Calculations.png]]
 
[[file:Forest_and_Calculations.png]]
  
The key entity in Heureka is the Treatment Unit, that represents a stand, i.e. an area restricted in space, with the same type of forest. En Treatment Unit är den minsta enhet åtgärder tillämpas för. En treatment unit innehåller en eller flera predictions units (prognosenheter). En prediction unit motsvarar en provyta eller en cell. Den innehåller i sin tur träd eller plantor.
+
The key entity in Heureka is the Treatment Unit, that represents a stand, i.e. an area restricted in space, with the same type of forest. A Treatment Unit is the smallest unit treatments are applied for. Each treatment unit contains one or more predictions units. A prediction unit represents a plot or a cell inside the treatment unit. Each prediction unit contains trees or saplings.
 
Prognosmodeller beräknar grundläggande värden för träd, tex volym, grundytetillväxt, höjd, ålder och barktjocklek. Med hjälp av prognosmodellerna kan en framskrivning av en treatment unit göras, dvs en beräkning av hur skogens tillstånd förändras från en tidsperiod till en annan.
 
  
 +
Treatments are simulated in Heureka with different type of treatment models such as regeneration, fertilization, cleaning, thinning, and final felling.
  
 +
Growth and yield models calculates tree related values such as volume, basal area growth, height, age, and bark thickness. With help of the growth models, a treatment unit can grow, i.e. the state in a future time period can be calculated.
  
+
Result models are used to calculate different types on results. Based on the state of a treatment unit in a given time period, different types of results can be calculated, such as cost and revenue of treatments, amount of biomass in the living forest, or amount of litter added to the ground. A result model may also produce a result based on the results in other result models (e.g. the recreation model uses input from the dead wood model).
Figur 4 2: Initiering, framskrivning och åtgärder
+
 
Med hjälp av en simuleringsmodell, som i sin tur anropar framskrivning och åtgärdsmodellerna, kan treatment programs (skötselprogram eller skötselalternativ) skapas för en treatment unit. Efter att framskrivning och åtgärder utförts, innehåller en treatment unit uppgifter om skogens tillstånd för alla tidsperioder som ingått i beräkningen. Resultaten kan sparas undan i ett treatment program, som innehåller resultat för ett alla perioder, beräknade med de resultatmodeller som önskas.
+
Simulation models or frameworks, allows treatment programs to be calculated for a treatment unit. A simulation model utilizes the growth and yield models, the treatment models, and sometimes also result models, to simulate different alternatives for managing a treatment unit. When growth prognosis and treatments has been simulated for a number of periods, the treatment unit (together with its prediction units and their trees and saplings) contains information about the forest state in all periods that were included in the simulation. The results can be saved in a treatment program, which contains results for all periods with the desired result models.
Resultatmodeller används för att beräkna resultat. Utifrån tillståndet i en treatment unit i en given period kan olika typer av resultat beräknas. Tex ekonomiskt utfall av åtgärder, mängd biomassa i den stående skogen eller hur mycket förna som tillförs marken. Resultatmodeller kan också beräkna resultat baserade på värden i andra resultatmodeller.
+
 
En optimeringsmodell kan användas för att räkna ut en plan. En plan består av ett urval av treatment programs (ett för varje treatment unit, eller andelar av flera treatment programs där summan av andelarna blir ett), som ger det bästa resultatet enligt optimeringsmodellen. Optimeringsmodeller definieras utifrån resultaten från de tillgängliga resultatmodellerna.
+
An optimization model is used to create a plan. A plan consists of a selection of treatment programs (one for each treatment unit in the plan), that gives the best result according to the optimization model. An optimization model is defined using the results from the result models. Any variable produced by a result model can be used in an optimization model. Optimization models differs from other models in Heureka, these are the only models that are defined by the user (all other models are programmed into the system).
Treatment Units kan klassificeras i forest domains. .
+
 
 +
Treatment units may be classified in forest domains. A user may define a forest domain, based on variables from the result models. The forest domain is then used to configure a simulation model.
  
 
== Design Principles ==
 
== Design Principles ==
 
== Technical Environment ==
 
== Technical Environment ==

Revision as of 10:22, 19 May 2010

Architectural Goals and Quality

For Heureka, the two most important quality goals are modifiability and performance. The system should be flexible enough to allow maintenance and further development in a cost effective manner. At the same time performance should be good enough to allow simulation on large amounts of data. To a certain extent, these goals are contradictable.

In addition to this, testability is an important quality aspect. As many parts as possible should be possible to test automatically, e.g. with unit testing tools such as NUnit. This sometimes means that sub functions must be made public so that they can be tested from external code. Over time, this goal has been proven more important than originally expected. This means that this goal has not always been met in the existing code, for instance many classes has a lot of dependencies on other classes making them harder to test.*

Other quality goals are less important:

  • Security. There are no specific security requirements. The system will use security functions available in the database and operating system.
  • Availability. The system is a single user application, so availability is not considered in the architecture.
  • Portability. Portability is not required.

Logical View

Forest model and Calculations

Forest and Calculations.png

The key entity in Heureka is the Treatment Unit, that represents a stand, i.e. an area restricted in space, with the same type of forest. A Treatment Unit is the smallest unit treatments are applied for. Each treatment unit contains one or more predictions units. A prediction unit represents a plot or a cell inside the treatment unit. Each prediction unit contains trees or saplings.

Treatments are simulated in Heureka with different type of treatment models such as regeneration, fertilization, cleaning, thinning, and final felling.

Growth and yield models calculates tree related values such as volume, basal area growth, height, age, and bark thickness. With help of the growth models, a treatment unit can grow, i.e. the state in a future time period can be calculated.

Result models are used to calculate different types on results. Based on the state of a treatment unit in a given time period, different types of results can be calculated, such as cost and revenue of treatments, amount of biomass in the living forest, or amount of litter added to the ground. A result model may also produce a result based on the results in other result models (e.g. the recreation model uses input from the dead wood model).

Simulation models or frameworks, allows treatment programs to be calculated for a treatment unit. A simulation model utilizes the growth and yield models, the treatment models, and sometimes also result models, to simulate different alternatives for managing a treatment unit. When growth prognosis and treatments has been simulated for a number of periods, the treatment unit (together with its prediction units and their trees and saplings) contains information about the forest state in all periods that were included in the simulation. The results can be saved in a treatment program, which contains results for all periods with the desired result models.

An optimization model is used to create a plan. A plan consists of a selection of treatment programs (one for each treatment unit in the plan), that gives the best result according to the optimization model. An optimization model is defined using the results from the result models. Any variable produced by a result model can be used in an optimization model. Optimization models differs from other models in Heureka, these are the only models that are defined by the user (all other models are programmed into the system).

Treatment units may be classified in forest domains. A user may define a forest domain, based on variables from the result models. The forest domain is then used to configure a simulation model.

Design Principles

Technical Environment