nimble-platform / common

Common modules that can be accessed by the other NIMBLE services.
Apache License 2.0
2 stars 4 forks source link

Specify B2B data sharing rules for platform data channels as part of Contractual Terms #6

Open jinnerbichler opened 6 years ago

jinnerbichler commented 6 years ago

The NIMBLE security module needs to offer a policy specification language and part of that language is the ability to define purpose-specific data channels. The security module would then enforce the policy rules across the platform. The following is an example for specifying rights of a user to monitor a production facility (i.e. a machine or a specific sensor) under certain conditions, from a supplier:

// --- partial specification of a contract clause describing a monitoring activity ----
nimble_contract(c0001, 
    between(firm333, firm666),
    contract_starts_ends(DATE_S, DATE_E),
    // clause list
    [
    clause_01(null),

    clause_99(
        from_date (StartDate),
        to_date (EndDate),

        can_monitor(
            user(fred01,firm666),
            company(firm333),
            machine(m222),
            sensor(sense777),
            when(
                machined_part(?MP_X),
                of_order(order999)
                )))
        ] 
        ).

This means that the data channel is only opened when parts are being produced that belong to the specified order.

There may be more general policies that allow the monitoring of any order.

(Note: this is planned to be available from NIMBLE R3 onwards).

jinnerbichler commented 6 years ago

Needs to be split into smaller issues.