5,448 research outputs found
An open extensible tool environment for Event-B
Abstract. We consider modelling indispensable for the development of complex systems. Modelling must be carried out in a formal notation to reason and make meaningful conjectures about a model. But formal modelling of complex systems is a difficult task. Even when theorem provers improve further and get more powerful, modelling will remain difficult. The reason for this that modelling is an exploratory activity that requires ingenuity in order to arrive at a meaningful model. We are aware that automated theorem provers can discharge most of the onerous trivial proof obligations that appear when modelling systems. In this article we present a modelling tool that seamlessly integrates modelling and proving similar to what is offered today in modern integrated development environments for programming. The tool is extensible and configurable so that it can be adapted more easily to different application domains and development methods.
Rodin: an open toolset for modelling and reasoning in Event-B
Event-B is a formal method for system-level modelling and analysis. Key features of Event-B are the use of set theory as a modelling notation, the use of refinement to represent systems at different abstraction levels and the use of mathematical proof to verify consistency between refinement levels. In this article we present the Rodin modelling tool that seamlessly integrates modelling and proving. We outline how the Event-B language was designed to facilitate proof and how the tool has been designed to support changes to models while minimising the impact of changes on existing proofs. We outline the important features of the prover architecture and explain how well-definedness is treated. The tool is extensible and configurable so that it can be adapted more easily to different application domains and development methods
Modelling of Multi-Agent Systems: Experiences with Membrane Computing and Future Challenges
Formal modelling of Multi-Agent Systems (MAS) is a challenging task due to
high complexity, interaction, parallelism and continuous change of roles and
organisation between agents. In this paper we record our research experience on
formal modelling of MAS. We review our research throughout the last decade, by
describing the problems we have encountered and the decisions we have made
towards resolving them and providing solutions. Much of this work involved
membrane computing and classes of P Systems, such as Tissue and Population P
Systems, targeted to the modelling of MAS whose dynamic structure is a
prominent characteristic. More particularly, social insects (such as colonies
of ants, bees, etc.), biology inspired swarms and systems with emergent
behaviour are indicative examples for which we developed formal MAS models.
Here, we aim to review our work and disseminate our findings to fellow
researchers who might face similar challenges and, furthermore, to discuss
important issues for advancing research on the application of membrane
computing in MAS modelling.Comment: In Proceedings AMCA-POP 2010, arXiv:1008.314
Formal Reasoning Using an Iterative Approach with an Integrated Web IDE
This paper summarizes our experience in communicating the elements of
reasoning about correctness, and the central role of formal specifications in
reasoning about modular, component-based software using a language and an
integrated Web IDE designed for the purpose. Our experience in using such an
IDE, supported by a 'push-button' verifying compiler in a classroom setting,
reveals the highly iterative process learners use to arrive at suitably
specified, automatically provable code. We explain how the IDE facilitates
reasoning at each step of this process by providing human readable verification
conditions (VCs) and feedback from an integrated prover that clearly indicates
unprovable VCs to help identify obstacles to completing proofs. The paper
discusses the IDE's usage in verified software development using several
examples drawn from actual classroom lectures and student assignments to
illustrate principles of design-by-contract and the iterative process of
creating and subsequently refining assertions, such as loop invariants in
object-based code.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338
How functional programming mattered
In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming matters’. More than two decades have passed. Has functional programming really mattered? Our answer is a resounding ‘Yes!’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and influence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs
Digital Simulations for Grade 7 to 10 Mathematics
This article describes a Department of Science and Technology – Philippine Council for Industry, Energy and Emerging Technology (DOST-PCIEERD) project aimed to facilitate the implementation of the mathematical objectives raised by the Department of Education’s (DepEd) K to 12 program in the Philippines through the use of innovative digital technologies. In particular, a selection of application software (“apps”) were created for Grade 7 to 10 mathematics that covered topics indicated in the five strands outlined in the K to 12 program – namely (1) number, (2) geometry, (3) measurement, (4) patterns and algebra, and (5) statistics and probability. The design of the apps was informed by an amalgamated framework of the Cognitive Theory of Multimedia Learning (Mayer 2005) and Mathematical Theories of Representation (Goldin 1998). The design was informed by how students learn and how students learn mathematics. The project also aimed to design manipulable software that allows learners to construct and grapple with their mental representations of mathematical concepts. This paper describes a selection of the apps designed by the project and how their features were informed by the theoretical framework. It also presents results from pilot studies that demonstrate the apps’ potential to increase performance, facilitate conceptual development, and increase learners’ engagement
Interactive Learning-Based Realizability for Heyting Arithmetic with EM1
We apply to the semantics of Arithmetic the idea of ``finite approximation''
used to provide computational interpretations of Herbrand's Theorem, and we
interpret classical proofs as constructive proofs (with constructive rules for
) over a suitable structure \StructureN for the language of
natural numbers and maps of G\"odel's system \SystemT. We introduce a new
Realizability semantics we call ``Interactive learning-based Realizability'',
for Heyting Arithmetic plus \EM_1 (Excluded middle axiom restricted to
formulas). Individuals of \StructureN evolve with time, and
realizers may ``interact'' with them, by influencing their evolution. We build
our semantics over Avigad's fixed point result, but the same semantics may be
defined over different constructive interpretations of classical arithmetic
(Berardi and de' Liguoro use continuations). Our notion of realizability
extends intuitionistic realizability and differs from it only in the atomic
case: we interpret atomic realizers as ``learning agents''
- …