TableBasedInterferenceSpecification

onera.pmlanalyzer.views.interference.model.specification.TableBasedInterferenceSpecification
See theTableBasedInterferenceSpecification companion object

Trait providing a wide range of modelling features to specify assumption

Attributes

Companion:
object
Graph
Supertypes
trait Instances
trait Instances
trait Instances
trait Instances
class Object
trait Matchable
class Any
Known subtypes
Self type

Members list

Concise view

transaction_relation

Map from the physical transaction id and their service sequence representation computed through an analysis of the platform WARNING: this lazy variable MUST NOT be called during platform object initialisation

Map from the physical transaction id and their service sequence representation computed through an analysis of the platform WARNING: this lazy variable MUST NOT be called during platform object initialisation

Attributes

Inherited from:
InterferenceSpecification

Map from the service sequence representation to their id WARNING: this lazy variable MUST NOT be called during platform object initialisation

Map from the service sequence representation to their id WARNING: this lazy variable MUST NOT be called during platform object initialisation

Attributes

Inherited from:
InterferenceSpecification

transparent_relation

Set gathering discarded transactions

Set gathering discarded transactions

Attributes

Inherited from:
Instances

scenario_relation

compute the considered scenarios depending on the configuration and the (optional) library, a scenario is either: a named and used transaction (e.g. val t = Transaction(a read b); t.used) a named and used scenario (e.g. val s = Scenario(t1, t2); s.used) an anonymous copy (e.g. a copy r on s) an anonymous transaction (e.g. a read b) not already involved in a copy, a named scenario or a named transaction WARNING this will discard an anonymous transaction defined inside and outside a copy, this issue does not occur if we keep the segregation Smart/NonSmart

compute the considered scenarios depending on the configuration and the (optional) library, a scenario is either: a named and used transaction (e.g. val t = Transaction(a read b); t.used) a named and used scenario (e.g. val s = Scenario(t1, t2); s.used) an anonymous copy (e.g. a copy r on s) an anonymous transaction (e.g. a read b) not already involved in a copy, a named scenario or a named transaction WARNING this will discard an anonymous transaction defined inside and outside a copy, this issue does not occur if we keep the segregation Smart/NonSmart

Attributes

Returns:

the set of scenarios

Inherited from:
InterferenceSpecification

equivalence_relation

Relation gathering user defined equivalent services

Relation gathering user defined equivalent services

Attributes

Inherited from:
Instances

interfere_relation

Relation gathering user defined interfering hardware

Relation gathering user defined interfering hardware

Attributes

Inherited from:
Instances

Relation gathering user defined non-interfering hardware

Relation gathering user defined non-interfering hardware

Attributes

Inherited from:
Instances

Relation gathering user defined service interferences caused by a transaction

Relation gathering user defined service interferences caused by a transaction

Attributes

Inherited from:
Instances

Relation gathering user defined service non-interference caused by a transaction

Relation gathering user defined service non-interference caused by a transaction

Attributes

Inherited from:
Instances

Relation gathering user defined service interferences

Relation gathering user defined service interferences

Attributes

Inherited from:
Instances

Relation gathering user defined service non-interferences

Relation gathering user defined service non-interferences

Attributes

Inherited from:
Instances

exclusive_predicate

Provide the map encoding of finalInterfereWith

Provide the map encoding of finalInterfereWith

Attributes

s

the set of scenario

Returns:

the map encoding

Inherited from:
InterferenceSpecification

Check whether two scenarios will not occur simultaneously

Check whether two scenarios will not occur simultaneously

Attributes

l

the left scenarios

r

the right scenarios

Returns:

true if they cannot occur simultaneously

Inherited from:
InterferenceSpecification

Check whether two transaction will not occur simultaneously

Check whether two transaction will not occur simultaneously

Attributes

l

the left transaction

r

the right transaction

Returns:

true if they cannot occur simultaneously

Inherited from:
InterferenceSpecification

equivalence_predicate

Provide the equivalence classes over s with views.interference.operators.Equivalent.Ops relation

Provide the equivalence classes over s with views.interference.operators.Equivalent.Ops relation

Attributes

s

the set of views.interference.model.specification.InterferenceSpecification.PhysicalTransactionId

Returns:

the equivalence classes

Inherited from:
InterferenceSpecification
final def serviceEquivalenceClasses(s: Set[Service]): Set[Set[Service]]

Provide the equivalence classes over s with views.interference.operators.Equivalent.Ops relation

Provide the equivalence classes over s with views.interference.operators.Equivalent.Ops relation

Attributes

s

the set of pml.model.service.Service

Returns:

the equivalence classes

Inherited from:
InterferenceSpecification

utilFun

final def channelNonEmpty(s: Set[Set[PhysicalScenarioId]]): Map[Set[PhysicalScenarioId], Set[Set[PhysicalScenarioId]]]

Provide the map encoding of channelNonEmpty

Provide the map encoding of channelNonEmpty

Attributes

s

the set of gathered scenarios

Returns:

the map encoding

Inherited from:
InterferenceSpecification
final def channelNonEmpty(l: Set[PhysicalScenarioId], r: Set[PhysicalScenarioId]): Boolean

Check if it exists at least one common service used by two set of scenarios

Check if it exists at least one common service used by two set of scenarios

Attributes

l

the left set of scenarios

r

the right set of scenarios

Returns:

true whether one channel exists

Inherited from:
InterferenceSpecification

Add the services of transactionInterfereWith to the path and remove the ones of transactionNotInterfereWith

Add the services of transactionInterfereWith to the path and remove the ones of transactionNotInterfereWith

Attributes

t

the identifier of the transaction

Returns:

the path of the transaction

Inherited from:
InterferenceSpecification

interfere_predicate

final def finalInterfereWith(l: Service, r: Service): Boolean

Check if two services interfere with each other

Check if two services interfere with each other

Attributes

l

the left service

r

the right service

Returns:

true if they interfere

Inherited from:
InterferenceSpecification
final def finalInterfereWith(l: Hardware, r: Hardware): Boolean

Check whether two hardware cannot work simultaneously

Check whether two hardware cannot work simultaneously

Attributes

l

the left hardware

r

the right hardware

Returns:

true if they cannot work simultaneously

Inherited from:
InterferenceSpecification

transform_operator

Convert an application to the set of transaction id its trigger

Convert an application to the set of transaction id its trigger

Attributes

Inherited from:
BasicInstances

Convert an application to the set of transaction id its trigger

Convert an application to the set of transaction id its trigger

Attributes

Inherited from:
BasicInstances
Graph
Supertypes
class Object
trait Matchable
class Any

Convert a physical id to the corresponding path of services

Convert a physical id to the corresponding path of services

Attributes

Inherited from:
BasicInstances

Convert a physical id to the corresponding path of services

Convert a physical id to the corresponding path of services

Attributes

Inherited from:
BasicInstances
Graph
Supertypes
class Object
trait Matchable
class Any

exclusive_relation

Relation gather user defined exclusive software

Relation gather user defined exclusive software

Attributes

Inherited from:
ApplicationInstances

Relation gathering user defined exclusive transactions

Relation gathering user defined exclusive transactions

Attributes

Inherited from:
GeneralInstances

service_relation

final lazy val services: Set[Service]

The set of services provided by the platform

The set of services provided by the platform

Attributes

Value members

Concrete methods

final def areEquivalent(l: Service, r: Service): Boolean

Derive implementation from serviceEquivalent

Derive implementation from serviceEquivalent

Attributes

l

the left service

r

the right service

Returns:

true if the services are equivalent

Derive implementation from transactionExclusive, swExclusive or same hardware owner

Derive implementation from transactionExclusive, swExclusive or same hardware owner

Attributes

l

the left transaction

r

the right transaction

Returns:

true if they cannot occur simultaneously

def interfereWith(l: Service, r: Service): Boolean

Derive implementation from serviceInterfereWithService

Derive implementation from serviceInterfereWithService

Attributes

l

the left service

r

the right service

Returns:

true if they interfere

final def interfereWith(l: Hardware, r: Hardware): Boolean

Derive implementation from hardwareExclusive

Derive implementation from hardwareExclusive

Attributes

l

the left hardware

r

the right hardware

Returns:

true if they cannot work simultaneously

Derive implementation from transactionIsTransparent

Derive implementation from transactionIsTransparent

Attributes

t

the identifier of the transaction

Returns:

true is the transaction is discarded

Derive implementation from physicalTransactionIdInterfereWithService

Derive implementation from physicalTransactionIdInterfereWithService

Attributes

t

the identifier of the transaction

Returns:

a set of services

Attributes

t

the identifier of the transaction

Returns:

a set of services

Deprecated and Inherited methods

Attributes

Deprecated
true
Inherited from:
InterferenceSpecification

Attributes

Deprecated
true
Inherited from:
InterferenceSpecification