149,465 research outputs found
A Software Architecture for Knowledge-Based Systems
. The paper introduces a software architecture for the specification and verification of knowledge-based systems combining conceptual and formal techniques. Our focus is component-based specification enabling their reuse. We identify four elements of the specification of a knowledge-based system: a task definition, a problem-solving method, a domain model, and an adapter. We present algebraic specifications and a variant of dynamic logic as formal means to specify and verify these different elements. As a consequence of our architecture we can decompose the overall specification and verification task of the knowledge-based systems into subtasks. We identify different subcomponents for specification and different proof obligations for verification. The use of the architecture in specification and verification improves understandability and reduces the effort for both activities. In addition, its decomposition and modularisation enables reuse of components and proofs. Ther..
Fast Automatic Verification of Large-Scale Systems with Lookup Tables
Modern safety-critical systems are difficult to formally verify, largely due to their large scale. In particular, the widespread use of lookup tables in embedded systems across diverse industries, such as aeronautics and automotive systems, create a critical obstacle to the scalability of formal verification. This paper presents a novel approach for the formal verification of large-scale systems with lookup tables. We use a learning-based technique to automatically learn abstractions of the lookup tables and use the abstractions to then prove the desired property. If the verification fails, we propose a falsification heuristic to search for a violation of the specification. In contrast with previous work on lookup table verification, our technique is completely automatic, making it ideal for deployment in a production environment. To our knowledge, our approach is the only technique that can automatically verify large-scale systems lookup with tables.
We illustrate the effectiveness of our technique on a benchmark which cannot be handled by the commercial tool SLDV, and we demonstrate the performance improvement provided by our technique
Structure preserving specification languages for knowledge-based systems
Much of the work on validation and verification of knowledge based systems (KBSs) has been done in terms of implementation languages (mostly rule-based languages). Recent papers have argued that it is advantageous to do validation and verification in terms of a more abstract and formal specification of the system. However, constructing such formal specifications is a difficult task. This paper proposes the use of formal specification languages for KBS-development that are closely based on the structure of informal knowledge-models. The use of such formal languages has as advantages that (i) we can give strong support for the construction of a formal specification, namely on the basis of the informal description of the system; and (ii) we can use the structural correspondence to verify that the formal specification does indeed capture the informally stated requirements
Applying an Operational Formal Method to Safety-Critical Systems
Despite thirty years of study by the academic community, industry has not embraced the systematic usage of formal methods. To address this concern, a formal method is proposed which possesses many of the qualities that practitioners have
listed as lacking from current formal methods: inclusion of both a specification and verification model, a tabular notation that only requires knowledge of first-order logic, support for both composition and decomposition, application throughout the
software life-cycle, and tool support. The presentation includes several applications to safety-critical software systems.
Keywords and Phrases Formal methods, specification, trace-based systems, software development, concurrency, verification
Principles of Compositional Multi-agent System Development
A dedicated development method for multi-agent systems requires adequate means to describe the characteristics of agents and multi-agent systems. Compositional multi-agent system development is based on the principles process and knowledge abstraction, compositionality, reuse, specification and verification. Although the paper addreses these principles of compositional multi-agent system development from a generic perspective, some of the examples used to illustrate the notions discussed are taken from the compositional development method DESIRE
Fast Automatic Verification of Large-Scale Systems with Lookup Tables
Modern safety-critical systems are difficult to formally verify, largely due to their large scale. In particular, the widespread use of lookup tables in embedded systems across diverse industries, such as aeronautics and automotive systems, create a critical obstacle to the scalability of formal verification. This paper presents a novel approach for the formal verification of large-scale systems with lookup tables. We use a learning-based technique to automatically learn abstractions of the lookup tables and use the abstractions to then prove the desired property. If the verification fails, we propose a falsification heuristic to search for a violation of the specification. In contrast with previous work on lookup table verification, our technique is completely automatic, making it ideal for deployment in a production environment. To our knowledge, our approach is the only technique that can automatically verify large-scale systems lookup with tables.
We illustrate the effectiveness of our technique on a benchmark which cannot be handled by the commercial tool SLDV, and we demonstrate the performance improvement provided by our technique
Model checking multi-agent systems
A multi-agent system (MAS) is usually understood as a system composed of interacting
autonomous agents. In this sense, MAS have been employed successfully as a modelling
paradigm in a number of scenarios, especially in Computer Science. However, the process
of modelling complex and heterogeneous systems is intrinsically prone to errors: for this
reason, computer scientists are typically concerned with the issue of verifying that a system
actually behaves as it is supposed to, especially when a system is complex.
Techniques have been developed to perform this task: testing is the most common technique,
but in many circumstances a formal proof of correctness is needed. Techniques
for formal verification include theorem proving and model checking. Model checking
techniques, in particular, have been successfully employed in the formal verification of
distributed systems, including hardware components, communication protocols, security
protocols.
In contrast to traditional distributed systems, formal verification techniques for MAS are
still in their infancy, due to the more complex nature of agents, their autonomy, and
the richer language used in the specification of properties. This thesis aims at making
a contribution in the formal verification of properties of MAS via model checking. In
particular, the following points are addressed:
• Theoretical results about model checking methodologies for MAS, obtained by
extending traditional methodologies based on Ordered Binary Decision Diagrams (OBDDS) for temporal logics to multi-modal logics for time, knowledge, correct behaviour, and strategies of agents. Complexity results for model checking these logics
(and their symbolic representations).
• Development of a software tool (MCMAS) that permits the specification and verification
of MAS described in the formalism of interpreted systems.
• Examples of application of MCMAS to various MAS scenarios (communication, anonymity, games, hardware diagnosability), including experimental results, and comparison with other tools available
Combining SLiVER with CADP to Analyze Multi-agent Systems
International audienceWe present an automated workflow for the analysis of multi-agent systems described in a simple specification language. The procedure is based on a structural encoding of the input system and the property of interest into an LNT program, and relies on the CADP software toolbox to either verify the given property or simulate the encoded system. Counterexamples to properties under verification, as well as simulation traces, are translated into a syntax similar to that of the input language: therefore, no knowledge of CADP is required. The workflow is implemented as a module of the verification tool SLiVER. We present the input specification language, describe the analysis workflow, and show how to invoke SLiVER to verify or simulate two example systems. Then, we provide details on the LNT encoding and the verification procedure
Assessing the Role of Formal Specifications in Verification and Validation of Knowledge‑Based Systems
This paper examines how formal specification techniques can support the verification and validation (V&V) of knowledge-based systems. Formal specification techniques provide levels of description which support both verification and validation, and V&V techniques feed back to assist the development of the specifications. Developing a formal specification for a system requires the prior construction of a conceptual model for the intended system. Many elements of this conceptual model can be effectively used to support V&V. Using these elements, the V&V process becomes deeper and more elaborate and it produces results of a better quality compared with the V&V activities which can be performed on systems developed without conceptual models. However, we note that there are concerns in using formal specification techniques for V&V, not least being the effort involved in creating the specifications
- …