616 research outputs found
Probabilistic thread algebra
We add probabilistic features to basic thread algebra and its extensions with
thread-service interaction and strategic interleaving. Here, threads represent
the behaviours produced by instruction sequences under execution and services
represent the behaviours exhibited by the components of execution environments
of instruction sequences. In a paper concerned with probabilistic instruction
sequences, we proposed several kinds of probabilistic instructions and gave an
informal explanation for each of them. The probabilistic features added to the
extension of basic thread algebra with thread-service interaction make it
possible to give a formal explanation in terms of non-probabilistic
instructions and probabilistic services. The probabilistic features added to
the extensions of basic thread algebra with strategic interleaving make it
possible to cover strategies corresponding to probabilistic scheduling
algorithms.Comment: 25 pages (arXiv admin note: text overlap with arXiv:1408.2955,
arXiv:1402.4950); some simplifications made; substantially revise
Inspecting Maude Variants with GLINTS
[EN] This paper introduces GLINTS, a graphical tool for exploring variant narrowing computations in Maude. The most recent version of Maude, version 2.7.1, provides quite sophisticated unification features, including order-sorted equational unification for convergent theories modulo axioms such as associativity, commutativity, and identity. This novel equational unification relies on built-in generation of the set of variants of a term t, i.e., the canonical form of t sigma for a computed substitution sigma. Variant generation relies on a novel narrowing strategy called folding variant narrowing that opens up new applications in formal reasoning, theorem proving, testing, protocol analysis, and model checking, especially when the theory satisfies the finite variant property, i.e., there is a finite number of most general variants for every term in the theory. However, variant narrowing computations can be extremely involved and are simply presented in text format by Maude, often being too heavy to be debugged or even understood. The GLINTS system provides support for (i) determining whether a given theory satisfies the finite variant property, (ii) thoroughly exploring variant narrowing computations, (iii) automatic checking of node embedding and closedness modulo axioms, and (iv) querying and inspecting selected parts of the variant trees.This work has been partially supported by EU (FEDER) and Spanish MINECO grant TIN 2015-69175-C4-1-R and by Generalitat Valenciana PROMETEO-II/2015/013. Angel Cuenca-Ortega is supported by SENESCYT, Ecuador (scholarship program 2013), and Julia Sapina by FPI-UPV grant SP2013-0083. Santiago Escobar is supported by the Air Force Office of Scientific Research under award number FA9550-17-1-0286.Alpuente Frasnedo, M.; Cuenca-Ortega, A.; Escobar Román, S.; Sapiña-Sanchis, J. (2017). Inspecting Maude Variants with GLINTS. Theory and Practice of Logic Programming. 17(5-6):689-707. https://doi.org/10.1017/S147106841700031XS689707175-
Program algebra for Turing-machine programs
This paper presents an algebraic theory of instruction sequences with
instructions for Turing tapes as basic instructions, the behaviours produced by
the instruction sequences concerned under execution, and the interaction
between such behaviours and Turing tapes provided by an execution environment.
This theory provides a setting for the development of theory in areas such as
computability and computational complexity that distinguishes itself by
offering the possibility of equational reasoning and being more general than
the setting provided by a known version of the Turing-machine model of
computation. The theory is essentially an instantiation of a parameterized
algebraic theory which is the basis of a line of research in which issues
relating to a wide variety of subjects from computer science have been
rigorously investigated thinking in terms of instruction sequences.Comment: 19 pages, Sect. 2--4 are largely shortened versions of Sect. 2--4 of
arXiv:1808.04264, which, in turn, draw from preliminary sections of several
earlier papers; 21 pages, some remarks in Sect.1 and Sect.10 adde
Program algebra for random access machine programs
This paper presents an algebraic theory of instruction sequences with
instructions for a random access machine (RAM) as basic instructions, the
behaviours produced by the instruction sequences concerned under execution, and
the interaction between such behaviours and RAM memories. This theory provides
a setting for the development of theory in areas such as computational
complexity and analysis of algorithm that distinguishes itself by offering the
possibility of equational reasoning to establish whether an instruction
sequence computes a given function and being more general than the setting
provided by any known version of the RAM model of computation. In this setting,
a semi-realistic version of the RAM model of computation and a bit-oriented
time complexity measure for this version are introduced.Comment: 25 pages, Sect. 2--4 are largely shortened versions of Sect. 2--4 of
arXiv:1808.04264, which, in turn, draw from preliminary sections of several
other papers. arXiv admin note: substantial text overlap with
arXiv:1901.0884
Rule-based Methodologies for the Specification and Analysis of Complex Computing Systems
Desde los orígenes del hardware y el software hasta la época actual, la complejidad
de los sistemas de cálculo ha supuesto un problema al cual informáticos, ingenieros
y programadores han tenido que enfrentarse. Como resultado de este esfuerzo han
surgido y madurado importantes áreas de investigación. En esta disertación abordamos
algunas de las líneas de investigación actuales relacionada con el análisis y
la verificación de sistemas de computación complejos utilizando métodos formales y
lenguajes de dominio específico.
En esta tesis nos centramos en los sistemas distribuidos, con un especial interés por
los sistemas Web y los sistemas biológicos. La primera parte de la tesis está dedicada
a aspectos de seguridad y técnicas relacionadas, concretamente la certificación del
software. En primer lugar estudiamos sistemas de control de acceso a recursos y proponemos
un lenguaje para especificar políticas de control de acceso que están fuertemente
asociadas a bases de conocimiento y que proporcionan una descripción sensible
a la semántica de los recursos o elementos a los que se accede. También hemos desarrollado
un marco novedoso de trabajo para la Code-Carrying Theory, una metodología
para la certificación del software cuyo objetivo es asegurar el envío seguro de código
en un entorno distribuido. Nuestro marco de trabajo está basado en un sistema de
transformación de teorías de reescritura mediante operaciones de plegado/desplegado.
La segunda parte de esta tesis se concentra en el análisis y la verificación de sistemas
Web y sistemas biológicos. Proponemos un lenguaje para el filtrado de información
que permite la recuperación de informaciones en grandes almacenes de datos. Dicho
lenguaje utiliza información semántica obtenida a partir de ontologías remotas
para re nar el proceso de filtrado. También estudiamos métodos de validación para
comprobar la consistencia de contenidos web con respecto a propiedades sintácticas
y semánticas. Otra de nuestras contribuciones es la propuesta de un lenguaje que
permite definir y comprobar automáticamente restricciones semánticas y sintácticas
en el contenido estático de un sistema Web. Finalmente, también consideramos los
sistemas biológicos y nos centramos en un formalismo basado en lógica de reescritura
para el modelado y el análisis de aspectos cuantitativos de los procesos biológicos.
Para evaluar la efectividad de todas las metodologías propuestas, hemos prestado
especial atención al desarrollo de prototipos que se han implementado utilizando
lenguajes basados en reglas.Baggi ., M. (2010). Rule-based Methodologies for the Specification and Analysis of Complex Computing Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/8964Palanci
A short introduction to program algebra with instructions for Boolean registers
A parameterized algebraic theory of instruction sequences, objects that
represent the behaviours produced by instruction sequences under execution, and
objects that represent the behaviours exhibited by the components of the
execution environment of instruction sequences is the basis of a line of
research in which issues relating to a wide variety of subjects from computer
science have been rigorously investigated thinking in terms of instruction
sequences. In various papers that belong to this line of research, use is made
of an instantiation of this theory in which the basic instructions are
instructions to read out and alter the content of Boolean registers and the
components of the execution environment are Boolean registers. In this paper,
we give a simplified presentation of the most general such instantiated theory.Comment: 21 pages, this paper is to a large extent a compilation of material
from several earlier publications; 23 pages, presentation improved and
section on uses for the theory added. arXiv admin note: text overlap with
arXiv:1702.0351
- …