onera.pmlanalyzer.pml.operators

Package containing all the extension methods provided by operators

Attributes

See also:

Link.Ops for link (e.g. link/unlink) keywords

Linked.Ops for linked (e.g. linked/reverse) keywords

Deactivate.Ops for deactivate (e.g. deactivate) keywords

Provided.Ops for provide (e.g. services/loads/stores) keywords

Use.Ops for use (e.g. use/hostedBy) keywords

Used.Ops for used (e.g. used/targetLoads) keywords

Merge.Ops for and (e.g. and) keywords

Restrict.Ops for restrict (e.g. restrictedTo) keywords

Route.Ops for route (e.g. useLink/cannotUseLink) keywords

Note:

This package should be imported in all pml models as so

import onera.pmlanalyzer.pml.operators._

Members list

Concise view

Type members

Classlikes

trait AsTransaction[A]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait Deactivate[-T]

Base trait for deactivation operations

Base trait for deactivation operations

Attributes

T

the type of the deactivatable component

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Deactivate

Extension methods and inferences rules

Extension methods and inferences rules

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait Link[L, R]

Base trait for link operation

Base trait for link operation

Attributes

L

the left type

R

the right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Link

Extension methods and inferences rules of high priority

Extension methods and inferences rules of high priority

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Link.type
trait Linked[L, R]

Base trait for linked operation

Base trait for linked operation

Attributes

L

the left type

R

the right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Linked

Extension methods and inferences rules

Extension methods and inferences rules

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Linked.type
trait Merge[-L, -R]

Concatenation operation over two types FIXME IS THIS REALLY HELPFUL

Concatenation operation over two types FIXME IS THIS REALLY HELPFUL

Attributes

L

left type

R

right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Merge

Extension methods and inferences rules

Extension methods and inferences rules

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Merge.type
trait Provided[L, R]

Base trait for provide operator

Base trait for provide operator

Attributes

L

the provider (left) type

R

the provided (right) type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Provided

Extension methods and inferences rules

Extension methods and inferences rules

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait Restrict[L, R]

Base trait for restrict operator used to restrict the connection graph of elements L to the elements R that are used

Base trait for restrict operator used to restrict the connection graph of elements L to the elements R that are used

Attributes

L

the left type

R

the right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Restrict

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object Route

Extension methods

Extension methods

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Route.type
trait Use[L, R]

Base trait for use operator

Base trait for use operator

Attributes

L

the left type

R

the right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Use

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Use.type
trait Used[L, R]

Base trait for used operator

Base trait for used operator

Attributes

L

the left type

R

the right type

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Used

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Used.type

Inherited classlikes

case class SimpleRouteIdentifyRouter(a: Initiator, targets: Iterable[Target])

Partial routing constraint where the initiator target couples are specified

Partial routing constraint where the initiator target couples are specified

Attributes

a

the initiator

targets

the set of targets

Inherited from:
Ops
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class SimpleRouterIdentifyNext(a: Initiator, targets: Iterable[Target], router: Hardware, forbid: Boolean)

Partial routing constraint where the initiator target couples, the router and the type of routing constraint are specified

Partial routing constraint where the initiator target couples, the router and the type of routing constraint are specified

Attributes

a

the initiator

forbid

if it is a blocking or routing constraint

router

the router

targets

the set of targets

Inherited from:
Ops
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

def TransactionParam[A](a: => A)(using ev: AsTransaction[A]): TransactionParam

Attributes

Inherited from:
Ops

Extensions

Inherited extensions

extension [T](a: T)
def deactivated(implicit evidence$1: Deactivate[T]): Unit

Attributes

Inherited from:
Ops
extension [L <: Application](self: L)
def hostedBy(b: Initiator)(using ev: Use[L, Initiator]): (L, Initiator)

The PML keyword to allocate self on an initiator

The PML keyword to allocate self on an initiator

Attributes

b

the initiator

ev

the proof that self can use an initiator

Returns:

the link

Inherited from:
Ops
extension [L <: Application | Initiator](self: L)
def hostingInitiators(using ev: Used[L, Initiator]): Set[Initiator]

PML keyword to access to the initiator hosting self

PML keyword to access to the initiator hosting self

Attributes

ev

the proof that self can be hosted by initiators

Returns:

the hosting initiators

Inherited from:
Ops
def targetLoads(using ev: Used[L, Load]): Set[Load]

PML keyword to access to the load services used by self

PML keyword to access to the load services used by self

Attributes

ev

the proof that self can use load services

Returns:

the used loads

Inherited from:
Ops
def targetService(using ev: Used[L, Service]): Set[Service]

PML keyword to access to the services used by self

PML keyword to access to the services used by self

Attributes

ev

the proof that self can use services

Returns:

the used services

Inherited from:
Ops
def targetStores(using ev: Used[L, Store]): Set[Store]

PML keyword to access to the store services used by self

PML keyword to access to the store services used by self

Attributes

ev

the proof that self can use store services

Returns:

the used stores

Inherited from:
Ops
extension [L <: Platform](self: L)

PML keyword to access to applications hosted by self

PML keyword to access to applications hosted by self

Attributes

Returns:

the set of hosted applications

Inherited from:
Ops

PML keyword to access to multi-path physical transactions used by self

PML keyword to access to multi-path physical transactions used by self

Attributes

ev

the proof that self can use transactions

Returns:

the set of multi path used physical transactions

Inherited from:
Ops

PML keyword to access to physical transactions used by self

PML keyword to access to physical transactions used by self

Attributes

ev

the proof that self can use transactions

Returns:

the set of used physical transactions

Inherited from:
Ops
extension [R](self: R)
def hardwareOwner(using ev: Provided[Hardware, R]): Set[Hardware]

Extension methods for owner

Extension methods for owner

Attributes

Inherited from:
Ops
def hardwareOwnerIs(that: Hardware)(using ev: Provided[Hardware, R]): Boolean

Extension methods for owner

Extension methods for owner

Attributes

Inherited from:
Ops
def initiatorOwner(using ev: Provided[Initiator, R]): Set[Initiator]

Extension methods for owner

Extension methods for owner

Attributes

Inherited from:
Ops
def targetOwner(using ev: Provided[Target, R]): Set[Target]

Extension methods for owner

Extension methods for owner

Attributes

Inherited from:
Ops

Extension methods for owner

Extension methods for owner

Attributes

Inherited from:
Ops
extension (self: Target)
def hostedData(using ev: Used[Target, Data]): Set[Data]

PML keyword to access to data hosted by self

PML keyword to access to data hosted by self

Attributes

ev

the proof that self can host data

Inherited from:
Ops
extension [L](self: L)
def used[B]()(using ev: Used[L, B]): Set[B]

PML keyword to access to elements used by self

PML keyword to access to elements used by self

Attributes

B

the type of used elements

ev

the proof that self can use elements of type B

Returns:

the set of used elements

Inherited from:
Ops
extension (self: Application)
def hardwareGraph(using ev: Restrict[Map[Hardware, Set[Hardware]], Application]): Map[Hardware, Set[Hardware]]

Attributes

Inherited from:
Ops
def serviceGraph(using ev: Restrict[Map[Service, Set[Service]], Application]): Map[Service, Set[Service]]

Attributes

Inherited from:
Ops
extension [L <: Application | Initiator](self: L)
def read[B](b: Set[B])(using p: Provided[B, Load], ev: Use[L, Load]): Set[(L, Load)]

The PML keyword specify that self reads something

The PML keyword specify that self reads something

Attributes

B

the type of b

b

the set of elements to read

ev

the proof that an application can use load services

p

that the element provide load services

Returns:

the link

Inherited from:
Ops
def read(b: Set[Service])(using ev: Use[L, Load]): Set[(L, Load)]

The PML keyword specify that self uses some load services

The PML keyword specify that self uses some load services

Attributes

b

the set of services

ev

the proof that an application can use load services

Returns:

the link

Inherited from:
Ops
def read[B](b: B)(using p: Provided[B, Load], ev: Use[L, Load]): Set[(L, Load)]

The PML keyword specify that self reads something

The PML keyword specify that self reads something

Attributes

B

the type of b

b

the element to read

ev

the proof that an application can use load services

p

that the element provide load services

Returns:

the link

Inherited from:
Ops
def write(b: Set[Service])(using ev: Use[L, Store]): Set[(L, Store)]

The PML keyword specify that self uses some store services

The PML keyword specify that self uses some store services

Attributes

b

the set of services

ev

the proof that an application can use store services

Returns:

the link

Inherited from:
Ops
def write[B](b: B)(using p: Provided[B, Store], ev: Use[L, Store]): Set[(L, Store)]

The PML keyword specify that self writes something

The PML keyword specify that self writes something

Attributes

B

the type of b

b

the element to write

ev

the proof that an application can use store services

p

that the element provide store services

Returns:

the link

Inherited from:
Ops
extension (self: Platform)
def hardwareGraph(): Map[Hardware, Set[Hardware]]

PML keyword to access to the hardware graph of the considered element

PML keyword to access to the hardware graph of the considered element

Attributes

Returns:

its hardware graph

Inherited from:
Ops

PML keyword to access to the hardware graph used by an application to access a target

PML keyword to access to the hardware graph used by an application to access a target

Attributes

s

the application

tgt

the target service

Returns:

its service graph

Inherited from:
Ops

PML keyword to access to hardware graph used by an application

PML keyword to access to hardware graph used by an application

Attributes

s

the application

Returns:

its hardware graph

Inherited from:
Ops

PML keyword to access to the service graph used by an application to access a target

PML keyword to access to the service graph used by an application to access a target

Attributes

s

the application

tgt

the target service

Returns:

its service graph

Inherited from:
Ops

PML keyword to access to the service graph of an application

PML keyword to access to the service graph of an application

Attributes

s

the application

Returns:

its service graph

Inherited from:
Ops
extension [L](self: L)
def loads(using ev: Provided[L, Load]): Set[Load]

PML keyword to get the loads provided by self

PML keyword to get the loads provided by self

Attributes

ev

the proof that self provides loads

Returns:

the set of provided loads

Inherited from:
Ops
def provided[U](using ev: Provided[L, U]): Set[U]

Extension methods

Extension methods

Attributes

Inherited from:
Ops
def services(using ev: Provided[L, Service]): Set[Service]

PML keyword to get the services provided by self

PML keyword to get the services provided by self

Attributes

ev

the proof that self provides services

Returns:

the set of provided services

Inherited from:
Ops
def stores(using ev: Provided[L, Store]): Set[Store]

PML keyword to get the stores provided by self

PML keyword to get the stores provided by self

Attributes

ev

the proof that self provides stores

Returns:

the set of provided stores

Inherited from:
Ops
extension [L](self: L)
extension (self: Initiator)

PML keyword to specify the set of targets used by the initiator for which a routing constraint applies

PML keyword to specify the set of targets used by the initiator for which a routing constraint applies

Attributes

target

a set of targets

Returns:

the partial routing constraint where the initiator target couples are specified

Inherited from:
Ops

PML keyword to specify the target used by the initiator for which a routing constraint applies

PML keyword to specify the target used by the initiator for which a routing constraint applies

Attributes

target

a target

Returns:

the partial routing constraint where the initiator target couple is specified

Inherited from:
Ops
extension (self: Data)
def hostingTargets(using ev: Used[Data, Target]): Set[Target]

PML keyword to access to the targets hosting self

PML keyword to access to the targets hosting self

Attributes

ev

the proof that self can be hosted by targets

Returns:

the set of targets

Inherited from:
Ops
extension [L <: Platform](self: L)

Provide all the physical elements declared inside the composite

Provide all the physical elements declared inside the composite

Attributes

Returns:

set of declared component

Inherited from:
Ops
def hardware(using ev: Provided[L, Hardware]): Set[Hardware]

Extension methods

Extension methods

Attributes

Inherited from:
Ops
def initiators(using ev: Provided[L, Hardware]): Set[Initiator]

Extension methods

Extension methods

Attributes

Inherited from:
Ops
def targets(using ev: Provided[L, Hardware]): Set[Target]

Extension methods

Extension methods

Attributes

Inherited from:
Ops
def transporters(using ev: Provided[L, Hardware]): Set[Transporter]

Extension methods

Extension methods

Attributes

Inherited from:
Ops
extension [L](self: Iterable[L])
def loads(using ev: Provided[L, Load]): Set[Load]

Extension methods for iterable

Extension methods for iterable

Attributes

Inherited from:
Ops
def services(using ev: Provided[L, Service]): Set[Service]

Extension methods for iterable

Extension methods for iterable

Attributes

Inherited from:
Ops
def stores(using ev: Provided[L, Store]): Set[Store]

Extension methods for iterable

Extension methods for iterable

Attributes

Inherited from:
Ops
extension [L](self: L)
def inverse[R](using linked: Linked[R, L]): Set[R]

PML keyword to retrieve elements pointing to self

PML keyword to retrieve elements pointing to self

Attributes

R

the type of pointing elements

linked

the proof that elements of type L can point to self

Returns:

the set of pointing elements

Inherited from:
Ops
def linked[R](using linked: Linked[L, R]): Set[R]

PML keyword to retrieve elements linked to self

PML keyword to retrieve elements linked to self

Attributes

R

the type of linked elements

linked

the proof that elements of type R can be linked to self

Returns:

the set of linked elements

Inherited from:
Ops
extension [L <: Data](self: L)
def hostedBy(b: Target)(using ev: Use[Data, Target]): (Data, Target)

The PML keyword to allocate self on an target

The PML keyword to allocate self on an target

Attributes

b

the target

ev

the proof that self can use an target

Returns:

the link

Inherited from:
Ops
extension [L](x: L)
def and[R, O](y: R)(implicit ev: Aux[L, R, O]): O

PML keyword to merge an element with x

PML keyword to merge an element with x

Attributes

O

the resulting type of the merge

R

the type of y

ev

the proof that x can be merged with y

y

the other element

Returns:

the merge of x and y

Inherited from:
Ops