Task: Define Trust Model
Define a semantically rich trust model that allows the derivation of meaningful trust values from past interactions.
Disciplines: Architecture
Relationships
Parent Practices
Outputs
    Main Description

    A trust model derives a trust value from a set of experiences. Each interaction yields such an experience, as outlined in The Trust Life Cycle. The model itself is an algorithm that combines these experiences to form a quantitative measure of the trust in the interaction partner.

    If trust is used to mitigate uncertainty, the trust model has to be tailored to the sources of uncertainty identified in the system. This is to ensure that the trust values actually have a semantic meaning.

    Steps
    Identify interaction contracts
    Define which kind of contracts are in place for the different kinds of interaction in the system. Identify what these contracts need to capture, i.e., what the properties of an interaction are that will lead to different trust values.
    Define experiences
    Once the contracts and the properties stored in it are defined, the data stored in the experiences needs to be defined. This data can either be pre-processed, e.g., if only deviations from the agreed upon contract are stored, or raw where both the contract and the result of the interaction are stored. The amount of pre-processing performed can greatly influence the complexity if the trust model itself as well as the amount of data that needs to be stored. As a general guideline, the experiences should only contain data that are used in the algorithm to derive the trust value.
    Define the semantic meaning of the trust value
    Make sure you understand what the trust value means. It is important to define not only what the extremes of a trust value mean (e.g., "0" equals no trust at all and "'1" the maximum amount of trust"), but also what the middle values express (e.g., a trust value of "0.5" can mean different things from "behaves completely favorable in half the interactions" to "only delivers half the agreed upon quantity).
    Describe the algorithm to derive the trust value from the input data
    The algorithm that implements the trust model should be defined in a formal and unambiguous way. Usually, the model can be expressed as a set of mathematical fomulae or as pseudo-code. If a model-driven approach is used, a language or modeling paradigm that can be automatically transformed into code can be useful as well.