pml_analyzer

The PML analyzer is an open source API providing a simple DSL to build a description of the architecture of your chip based on the PHYLOG Model Language (PML). From this representation a set of safety and interference model templates can be generated to perfom safety and interference analyses of your platform.

Attributes

Members list

Concise view

Packages

Package containing all general modelling features of PML

Package containing all general modelling features of PML

Attributes

See also:

For basic classes used to model a platform see pml.model

For operators used to manipulate the classes see pml.operators

For exporters see pml.exporters

For examples on operator and class usage see pml.examples and the related documentation in src/main/doc-resources/pml/examples

Package containing PML examples of simple platforms illustrating the basic modelling features of PML

Package containing PML examples of simple platforms illustrating the basic modelling features of PML

Attributes

Package containing an example on a simplification of a TI Keystone platform

Package containing an example on a simplification of a TI Keystone platform

Attributes

See also:

SimpleKeystonePlatform for examples of pml.model.hardware.Hardware modelling features SimpleSoftwareAllocation for examples of pml.model.software.Application modelling features SimpleKeystoneTransactionLibrary for examples of transaction/scenario modelling features SimpleKeystoneLibraryConfiguration for example of transaction library configuration SimpleKeystoneLibraryConfigurationFull for examples of specialisation of library configurations SimpleKeystoneExport for examples of platform instantiation and pml.exporters usage

Package containing an example on a simplification of T1042 platform

Package containing an example on a simplification of T1042 platform

Attributes

Package containing the extension methods to export PML model as tables or Graphviz.

Package containing the extension methods to export PML model as tables or Graphviz.

Must be imported as following to enable export extension

import onera.pmlanalyzer.pml.exporters._

The available extension methods are provided in UMLExporter.Ops and RelationExporter.Ops

Example of usages are provided in pml.examples.simpleKeystone.SimpleKeystoneExport

Attributes

Package containing PML nodes.

Package containing PML nodes.

Attributes

See also:

pml.model.hardware for hardware nodes

pml.model.software for software nodes

pml.model.service for service nodes

pml.model.configuration for transaction library

Package containing configuration PML facet of a model

Package containing configuration PML facet of a model

Use TransactionLibrary to define transactions or scenarios and select which ones should be consider for the analysis.

Example of definition are provided in pml.examples.simpleKeystone.SimpleKeystoneTransactionLibrary

Example of selection are provided in pml.examples.simpleKeystone.SimpleKeystoneLibraryConfigurationFull

Attributes

Package containing all hardware PML nodes

Package containing all hardware PML nodes

Attributes

See also:
Note:

SimpleTransporter, Virtualizer, Target and Initiator can only be instantiated in a Platform or a Composite but Platform and Composite can be specialised

Package containing the implicit relations used to connect PML nodes

Package containing the implicit relations used to connect PML nodes

Attributes

Note:

these relations should not be used directly. To manipulate the relations use the operators detailed in pml.operators

Package containing all service PML nodes Load, Store and ArtificialService can be instantiated when extra services are needed.

Package containing all service PML nodes Load, Store and ArtificialService can be instantiated when extra services are needed.

Attributes

See also:
Note:

hardware component provides by default a load and store service.

Package containing software PML nodes.

Package containing software PML nodes.

Attributes

See also:

example of usage are available in pml.examples.simpleKeystone.SimpleSoftwareAllocation

Note:

The Application and Data must be instantiated in a pml.model.hardware.Platform and cannot specialised in PML models.

Package containing classes and methods

Package containing classes and methods

Attributes

Package containing all the extension methods provided by 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._

Package containing the modelling and analysis features for specific purposes

Package containing the modelling and analysis features for specific purposes

Attributes

See also:

views.interference for interference modelling and analysis

views.dependability for dependability modelling and analysis

Package containing all interference modelling and analysis features of PML

Package containing all interference modelling and analysis features of PML

Attributes

See also:

views.interference.model for basic classes used to model the interference analysis assumption

views.interference.operators for operators used to manipulate and perform analyses

views.interference.examples for examples on operator and class usage and the related documentation in src/main/doc-resources/pml/examples

Package containing PML examples of simple platforms illustrating the basic interference modelling and analysis features of PML

Package containing PML examples of simple platforms illustrating the basic interference modelling and analysis features of PML

Attributes

Package containing an example on a simplification of a TI Keystone platform

Package containing an example on a simplification of a TI Keystone platform

Attributes

See also:

SimpleKeystonePhysicalTableBasedInterferenceSpecification provides an example of hardware interference assumption modelling

SimpleKeystoneApplicativeTableBasedInterferenceSpecification provides an example of application interference assumption modelling

SimpleKeystoneInterferenceGeneration provides an example of interference analysis for the simplified Keystone platform

Package containing the interference related exporters

Package containing the interference related exporters

scala> import onera.pmlanalyzer.views.interference.exporters._

The available extension methods are provided in IDPExporter.Ops and InterferenceGraphExporter.Ops Example of usages are provided in ???

Attributes

Package containing the model extensions for interference analysis

Package containing the model extensions for interference analysis

Attributes

See also:

views.interference.model.specification for modelling features for interference analysis specification

views.interference.model.formalisation for internal models used to formalise the problem as SMT problem

Note:

internal models should not be used for platform analysis or modelling

Package containing model extension enabling formalisation of the interference computation problem as an SMT problem.

Package containing model extension enabling formalisation of the interference computation problem as an SMT problem.

Attributes

See also:

BDDFactory provides some basic Binary Decision Diagram features based on JavaBDD.

ProblemElement provides all the necessary modelling features to encode the problem with Monosat

Package containing the modelling features used to specify the assumptions considered during the interference analysis.

Package containing the modelling features used to specify the assumptions considered during the interference analysis.

Attributes

See also:

TableBasedInterferenceSpecification provides a wide range of modelling features to specify assumption.

InterferenceSpecification provides the basic modelling features to specify the assumptions, if possible consider using

InterferenceSpecification.Default provides a default specialization of InterferenceSpecification

Package containing the operators related to interference computation that can be used on a PML model. Examples are provided in views.interference.examples.simpleKeystone.SimpleKeystoneInterferenceGeneration

Package containing the operators related to interference computation that can be used on a PML model. Examples are provided in views.interference.examples.simpleKeystone.SimpleKeystoneInterferenceGeneration

Attributes

See also:

Analyse.Ops provides the operators related to interference computation with Monosat https://github.com/sambayless/monosat

PostProcess.Ops provides the operators related to the post processing of the interference computation

Interfere.Ops provides the operators related to interference assumptions

Exclusive.Ops provides the operators related to exclusive assumptions (e.g., two pml.model.software.Application will not execute simultaneously)

Transparent.Ops proves the operators related to transparency assumptions (e.g., a pml.model.configuration.TransactionLibrary.Transaction is discarded)

Note:

This package should be imported in all pml models as so

import onera.pmlanalyzer.views.interference.operators._