482 research outputs found
Abstraction of Agents Executing Online and their Abilities in the Situation Calculus
We develop a general framework for abstracting online behavior of an agent that may acquire new knowledge during execution (e.g., by sensing), in the situation calculus and ConGolog. We assume that we have both a high-level action theory and a low-level one that represent the agent's behavior at different levels of detail. In this setting, we define ability to perform a task/achieve a goal, and then show that under some reasonable assumptions, if the agent has a strategy by which she is able to achieve a goal at the high level, then we can refine it into a low-level strategy to do so
Counterfactual Causality from First Principles?
In this position paper we discuss three main shortcomings of existing
approaches to counterfactual causality from the computer science perspective,
and sketch lines of work to try and overcome these issues: (1) causality
definitions should be driven by a set of precisely specified requirements
rather than specific examples; (2) causality frameworks should support system
dynamics; (3) causality analysis should have a well-understood behavior in
presence of abstraction.Comment: In Proceedings CREST 2017, arXiv:1710.0277
Foundations for Behavioural Model Elaboration Using Modal Transition Systems
Modal Transition Systems (MTS) are an extension of Labelled Transition Systems
(LTS) that have been shown to be useful to reason about system behaviour in the
context of partial information. MTSs distinguish between required, proscribed
and unknown behaviour and come equipped with a notion of refinement that supports
incremental modelling where unknown behaviour is iteratively elaborated
into required or proscribed behaviour.
A particularly useful notion in the context of software and requirements engineering
is that of “merge”. Merging two consistent models is a process that should
result in a minimal common refinement of both models where consistency is defined
as the existence of one common refinement. One of the current limitations
of MTS merging is that a complete and correct algorithm for merging has not
been developed. Hence, an engineer attempting to merge partial descriptions may
be prevented to do so by overconstrained algorithms or algorithms that introduce
behaviour that does not follow from the partial descriptions being merged. In
this thesis we study the problems of consistency and merge for the existing MTSs
semantics - strong and weak semantics - and provide a complete characterization
of MTS consistency as well as a complete and correct algorithm for MTS merging
using these semantics.
Strong and weak semantics require MTS models to have the same communicating
alphabet, the latter allowing the use of a distinguished unobservable action. In
this work we show that the requirement of fixing the alphabet for MTS semantics
and the treatment of observable actions are limiting if MTSs are to support
incremental elaboration of partial behaviour models. We present a novel observational
semantics for MTS, branching alphabet semantics, inspired by branching
LTS equivalence, which supports the elaboration of model behaviour including
the extension of the alphabet of the system to describe behaviour aspects that
previously had not been taken into account. Furthermore, we show that some
unintuitive refinements allowed by weak semantics are avoided, and prove a number
of theorems that relate branching refinement with alphabet refinement and
consistency. These theorems, which do not hold for other semantics, support the
argument for considering branching alphabet as a sound semantics to support
behaviour model elaboration
Formal specifications in component-based development
Software engineering has entered a new era, the Internet and its associated technologies require a different conceptual framework for building and understanding software solutions.
Users ask to develop applications more rapidly, and software engineers need to ensamble systems from preexisting parts. Components and Components-Based Development( CBD), are the approaches that provide solutions to these arising needs.
Components are the way to encapsulate existing functionality, acquire third-party solutions, and build new services to support emerging business processes. Component-based development provides a design paradigm that is well suited to the new requirements, were the traditional design and build has been replaced by select and integrate. Within this approach, the specification of components plays a crucial role. If we are working on the development of components in order to construct a library for general use, we need to start from a concrete and complete specification of what we are going to construct. If we are assembling our application from pre-existing components, we need a precise specification of the behaviour of the component in order to select it from the library.Eje: IngenierĂa de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI
Formal specifications in component-based development
Software engineering has entered a new era, the Internet and its associated technologies require a different conceptual framework for building and understanding software solutions.
Users ask to develop applications more rapidly, and software engineers need to ensamble systems from preexisting parts. Components and Components-Based Development( CBD), are the approaches that provide solutions to these arising needs.
Components are the way to encapsulate existing functionality, acquire third-party solutions, and build new services to support emerging business processes. Component-based development provides a design paradigm that is well suited to the new requirements, were the traditional design and build has been replaced by select and integrate. Within this approach, the specification of components plays a crucial role. If we are working on the development of components in order to construct a library for general use, we need to start from a concrete and complete specification of what we are going to construct. If we are assembling our application from pre-existing components, we need a precise specification of the behaviour of the component in order to select it from the library.Eje: IngenierĂa de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI
- …