Skip to content

Vulnerability: Refactor of vulnerability, fragility, damage to loss and engineering demand functions #359

@duncandewhurst

Description

@duncandewhurst

In the proposed 0.3 schema, the functions part of the vulnerability component has been refactored.

Previously, most of its properties were common to all function types, and properties that were specific to a particular function type (or types) were located under vulnerability.functions.<function type>, e.g. vulnerability.functions.damage_to_loss.damage_scale_name.

In the proposed schema, everything has been moved under vulnerability.functions with a separate definition for each function type, and there is a lot of repetition between the different function types.

Here's a table comparing the properties for each function type:

property VulnerabilityFunction FragilityFunction DamageToLossFunction EngineeringDemandFunction
id True True True True
approach True True True True
relationship True True True True
hazard_primary True True True True
hazard_secondary True True True True
hazard_process_primary True True True True
hazard_process_secondary True True True True
hazard_analysis_type True True True True
intensity_measure True True True True
category True True True True
impact_type True True True True
impact_modelling True True True True
impact_metric True True True True
quantity_kind True True True True
taxonomy True True True True
analysis_details True True True True
damage_scale_name True True True
damage_states_names True True True
parameter True

@matamadio I couldn't find any discussion about this refactoring - could you explain the motivation please?

On first impression, the previous approach made more sense (less repetition), but it would be good to understand what the benefits of the proposed model are.

Metadata

Metadata

Assignees

No one assigned

    Labels

    New keywordAdds a previously unused JSON Schema keyword.

    Type

    No type

    Projects

    Status

    Implementation

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions