Hyperon concepts


When application uses parameter or function, its value depends on context. In other words - context is an object model containing all data that may affect parameters' or functions' values. Once we design context model, we can make our parameterization depends on any data from the context.

Below you can see sample context definition:

[ROOT]                                  // root elements in context
 - policy          : Policy
 - cover           : Cover

[Policy]                                // Policy type definition
  - policyNo       : string
  - productCode    : string
  - insured        : Client
  - year           : integer
  - covers         : Cover[]

[Client]                                // definition of Client type
  - firstname      : string
  - lastname       : string
  - gender         : string
  - age            : integer
  - professionCode : integer
  - address        : Address

[Cover]                                 // definition of Cover type
  - code           : string
  - sumInsured     : number
  - basePremium    : number
  - startDate      : date
  - endDate        : date

Following listing shows some paths valid for this sample context:


For instance, policy.insured.age is an integer and means the age of insured person on insurance policy.

Context designed inside Hyperon Studio is kind of interface which can be used by all Hyperon components. It should be abstracted from application's or database model. Context design should focus on business needs. Such context will be conceptual bridge between development team and business analysts.

Following image shows sample context defined in Hyperon Studio.

Context designed in abstraction from application makes it possible to test business logic directly in Hyperon Studio, even if application is not ready yet. Read Using tester to see how you can verify parameter's or function's behaviour with built-in simulator.

When the application gets connected to Hyperon, it becomes application's responsibility to implement context. Read Implementing context to see how this can be done.