SUML/PVS Tools
We have implemented a tool that translates a subset of UML, as
exported by certain case tools into the XMI format, to the input
language of the theorem prover PVS. Because XMI allows for
many variantions of the exported format, it is tedious to
implement a reader for this format. To simplify this process,
we have implemented a translation of two XMI dialects,
namely the one of Rhapsody and the one of ArgoUML, to an
intermediate format, which we call SUML.
We have implemented a translator from SUML to PVS. The same
tool also reads and typechecks OCL constraints and generates
corresponding proof obligations in PVS.
As an alternative, constraints can be specified directly in PVS.
This also enables the use of TLPVS, which is a framework for
proving linear-time temporal logic properties of UML models.
SUML
The SUML (simple UML) format is a simplified XML representation
of UML models, which are commonly interchanged in the XMI
format.
The issue with XMI is, that while it is a standard format for
model exchange, it contains too much information, and is not
really portable between different tools. Each tool may define
its own variant of this format. To simplify the
implementation of our tools, we defined a translation of subsets
of the XMI format as implemented by Rhapsody and by Rational
Rose into the SUML format.
Tools for translating XMI to SUML and PVS are available here.
OCL
The OCL Tool implements a translation of a subset of OCL
constraints into the input language of the theorem prover PVS.
In order to avoid implementing a three-valued logic within the
framework of PVS, we decided to define a sound translation of
OCL into a two-valued logic. The advantage is a more direct
representation of constraints in PVS. The disadvantage is, that
a set of constraints, which are undefined in OCL, may be
provable in PVS.
OCL is a three-valued logic, because the semantics was defined
for an executable language and not a logic. If the evaluation
of an expression raises an exception or diverges, then the
constraint is considered to be undefined. However, such notions
do not exist in the declarative semantics of a logic. Finally,
for our purposes the provability of a constraint is
more important than whether its execution may terminate.
The OCL tool is available here.
TLPVS
TLPVS is a PVS
implementation of a linear temporal logic verification system.
The system includes a set of theories defining a temporal logic,
a number of proof rules for proving soundness and response
properties, and strategies which aid in conducting the proofs.
In addition to implementing a framework for existing rules, we
have also derived new methods which are particularly useful in a
deductive LTL system. A distributed rank rule for the
verification of response properties in parameterized systems is
presented, and a methodology is detailed for reducing compassion
requirements to justice requirements (strong fairness to weak
fairness). Special attention has been paid to the verification
of unbounded systems - systems in which the number of processes
is unbounded - and our - verification rules are appropriate to
such systems.
TLPVS is available here.
We also provide some examples. They all run with April version
of TLPVS:
OAS
The OMEGA Abstract Semantics (OAS) tool was called the RML-tool
earlier, since the Rule Markup Language (RML) is used for its
implementation. The OAS tool was designed for experimental
analysis of the abstract OMEGA kernel model semantics.
The user provides a class diagram plus object diagram with the
model to analyse. The user provides scripts in a scripting
language that define the transformation semantics and the
scheduling semantics.
An online version of the tool without scripting is available
here.
The open-source software with scripting functionality is
here.
Last modified by Joost Jacob, February 3, 2005.
|