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
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:
usage are available in pml.examples.simpleKeystone.SimpleKeystonePlatform
- 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:
usage are available in pml.examples.simpleKeystone.SimpleKeystonePlatform
- 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.exporters for exporters
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:
ApplicativeTableBasedInterferenceSpecification provides modelling features to specify application related assumption Example can be found in views.interference.examples.simpleKeystone.SimpleKeystoneApplicativeTableBasedInterferenceSpecification
PhysicalTableBasedInterferenceSpecification provides modelling features to specify hardware related assumption Example can be found in views.interference.examples.simpleKeystone.SimpleKeystonePhysicalTableBasedInterferenceSpecification
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
TableBasedInterferenceSpecification.Default provides a default specialization of TableBasedInterferenceSpecification
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._