3 research outputs found
A toolkit for model checking of electronic contracts
PhD ThesisIn the business world, contracts are used to regulate business interactions
between trading parties. In this context, an electronic contracting systems
can be used to monitor business–to–business interactions to ensure that
they comply with the rights (permissions), obligations and prohibitions
stipulated in contract clauses. Such an electronic contracting system will
require an executable version of the contract (e-contract) for compliance
checking. It is important to be verify the correctness properties of an e-
contract before deploying it for compliance checking. Model checkers are
widely used for automatic verification of concurrent systems. However,
such tools for e-contracts with means for expressing directly and intu-
itively key concepts that appear recurrently in contracts, such as execu-
tions of business operations, granting (cancellation, suspension, fulfilment,
violation, etc.) of rights, obligations and prohibitions to role players are
not yet available.
This thesis rectifies the situation by developing a high-level e-contract
verification toolkit using the Spin model checker. A formal Contractual
Business-To-Business interaction (CB2B) model based on the concepts of
contract compliance checking developed earlier at Newcastle university
has been constructed. Further, Promela, the input language of the Spin
model checker, has been extended in a manner that enables specification
of contract clauses in terms of contract entities: role players, business
operations, rights, obligations and prohibitions. A given contract can now
be expressed using extended Promela as a set of declarations and a set of
Event-Condition-Action rules. In addition, the designer can specify the
correctness requirements to be verified in Linear-Temporal-Logic directly
in terms of the contract entities. A notable feature is that the CB2B model
automatically checks for contract independent properties: properties that
must hold for all contracts. For example, at run time, a contract should
not simultaneously grant a role player a right to perform an operation
and also prohibit it. Thus, the toolkit hides much of the intricate details
of dealing with Promela processes communicating through channels and
enables a designer to build verifiable abstract models directly in terms of
contract entities.
The usefulness of the toolkit is demonstrated by trying out a number of
contract examples used by researchers working on contract verification.
The thesis also shows how the toolkit can be used for generating test
cases for testing an implemented system
Test-Sequence Generation from Formal Requirement Models
Associated research group: Critical Systems Research GroupThis paper discusses a method for generating test
sequences from state-based specifications. We show how a model
checker can be used to automatically generate complete test
sequences that will provide arbitrary structural coverage of
requirements specified in a high-level language like SCR or rsml.
We have defined a language independent formal foundation for test
sequence generation using model checkers that is
suitable for representing software artifacts like requirements
models, software specifications, and code. This paper shows a
concrete application of our formal framework for test generation
in the requirements modeling domain.
The framework allows one to define structural coverage criteria
in terms of the formal model of a software artifact and describes
how test sequences can be generated to satisfy those coverage
criteria using a model-checker.
The approach is illustrated using examples.
We define various criteria in terms of the specification
language, translate those into criteria in the formal framework,
and demonstrate how we generate the test sequences