8 research outputs found
Bisimilarity and refinement for hybrid(ised) logics
The complexity of modern software systems entails the need for reconfiguration mechanisms governing the dynamic evolution of their execution configurations in response to both external stimulus or internal performance measures. Formally, such systems may be represented by transition systems whose nodes correspond to the different configurations they may assume. Therefore, each node is endowed with, for example, an algebra, or a first-order structure, to precisely characterise the semantics of the services provided in the corresponding configuration.
Hybrid logics, which add to the modal description of transition structures the ability to refer to specific states, offer a generic framework to approach the specification and design of this sort of systems. Therefore, the quest for suitable notions of equivalence and refinement between models of hybrid logic specifications becomes fundamental to any design discipline adopting this perspective. This paper contributes to this effort from a distinctive point of view: instead of focussing on a specific hybrid logic, the paper introduces notions of bisimilarity and refinement for hybridised logics, i.e. standard specification logics (e.g. propositional, equational, fuzzy, etc) to which modal and hybrid features were added in a systematic way.FC
Refinement in hybridised institutions
Hybrid logics, which add to the modal description of transition structures the ability to refer to specific
states, offer a generic framework to approach the specification and design of reconfigurable systems, i.e., systems
with reconfiguration mechanisms governing the dynamic evolution of their execution configurations in response
to both external stimuli or internal performance measures. A formal representation of such systems is through
transition structures whose states correspond to the different configurations they may adopt. Therefore, each
node is endowed with, for example, an algebra, or a first-order structure, to precisely characterise the semantics
of the services provided in the corresponding configuration. This paper characterises equivalence and refinement
for these sorts of models in a way which is independent of (or parametric on) whatever logic (propositional,
equational, fuzzy, etc) is found appropriate to describe the local configurations. A Hennessy–Milner like theorem
is proved for hybridised logics.This work is funded by ERDF-European Regional Development Fund, through the COMPETE Programme, and by National Funds through FCT within project FCOMP-01-0124-FEDER-028923 and by project NORTE-07-0124-FEDER-000060, co-financed by the North Portugal Regional Operational Programme (ON.2), under the National Strategic Reference Framework (NSRF), through the European Regional Development Fund (ERDF). The work had also partial financial assistance by the project PEst-OE/MAT/UI4106/2014 at CIDMA, FCOMP-01-0124-FEDER-037281 at INESC TEC and the Marie Curie project FP7-PEOPLE-2012-IRSES (GetFun)
A logic for the stepwise development of reactive systems
D↓is a new dynamic logic combining regular modalities with the binder constructor typical of hybrid logic, which provides a smooth framework for the stepwise development of reactive systems. Actually, the logic is able to capture system properties at different levels of abstraction, from high-level safety and liveness requirements, to constructive specifications representing concrete processes. The paper discusses its semantics, given in terms of reachable transition systems with initial states, its expressive power and a proof system. The methodological framework is in debt to the landmark work of D.Sannella and A.Tarlecki, instantiating the generic concepts of constructor and abstractor implementations by standard operators on reactive components, e.g. relabelling and parallel composition, as constructors, and bisimulation for abstraction.This work was funded by ERDF European Regional Development Fund, through the COMPETE Programme, and by National Funds through FCT – Portuguese Foundation for Science and Technology – within projects POCI-01-0145-FEDER-016692 (DaLí – Dynamic logics for cyber-physical systems: towards contract based design) and UID/MAT/04106/2013 at CIDMA. Further support was given by the project SmartEGOV, NORTE-01-0145-FEDER000037, supported by Norte Portugal Regional Operational Programme (NORTE 2020), under the PORTUGAL 2020 Partnership Agreement, through the EFDR. The first author is also supported by a FCT individual grant SFRH/BPD/103004/201
Foundations and techniques for software reconfigurability
Programa de doutoramento em Informática das Universidades do Minho, de Aveiro e do PortoThe qualifier reconfigurable is used for software systems which behave differently
in different modes of operation (often called configurations) and commute between
them along their lifetime. Such systems, which evolve in response to external or internal
stimulus, are everywhere: from e-Health or e-Government integrated services
to sensor networks, from domestic appliances to complex systems distributed and
collaborating over the web, from safety or mission-critical applications to massive
parallel software.
There are two basic approaches to formally capture requirements of this sort of
systems: one emphasizes behaviour and its evolution; the other focus on data and
their transformations. Within the first paradigm, reconfigurable systems are regarded
as (some variant of) state-machines whose states correspond to the different configurations
they may assume. On the other hand, in data-oriented approaches the
system’s functionality is specified in terms of input-output relations modelling operations
on data. A specification presents a theory in a suitable logic, expressed over
a signature which captures its syntactic interface. Its semantics is a class of concrete
algebras or relational structures, acting as models for the specified theory.
The observation that whatever services a reconfigurable system may offer, at each
moment, may depend on the stage of its evolution, suggests that both dimensions
(data and behaviour) are interconnected and should be combined. In particular, each
node in the transition system which describes a reconfiguration space, may be endowed
with a local structure modelling the functionality of the respective configuration.
This is the basic insight of a configurations-as-local-models specification style.
These specifications are modeled by structured state-machines, states denoting complex
structures, rather than sets.
A specification for this sort of system should be able to make assertions both about
the transition dynamics and, locally, about each particular configuration. This leads
to the adoption of hybrid logic, which adds to the modal description of transition
structures the ability to refer to specific states, as the lingua franca for a suitable
specification method.
On the other hand, specific applications may require specific logics to describe
their configurations. For example, requirements expressed equationally lead to a
configurations-as-algebras perspective. But depending on their nature one could also
naturally end up in configurations-as-relational-structutres, or probabilistic spaces
or even in configurations-as-Kripke-structutres, if first-order, fuzzy or modal logic is
locally used.
The aim of this thesis is to develop the foundations for a specification method
based on these principles. To subsume all the possibilities above our approach builds
on very general grounds. Therefore, instead of committing to a particular version
of hybrid logic, we start by choosing a specific logic for expressing requirements at
the configuration (static) level. This is later taken as the base logic on top of which
the characteristic features of hybrid logic, both at the level of syntax (i.e. modalities,
nominals, etc.) and of the semantics (i.e. possible worlds), are developed. This
process is called hybridisation and is one of the main technical contributions of this thesis. To be completely general, it is framed in the context of the theory of institutions
of J. Goguen and R. Burstall, each logic (base and hybridised) being treated
abstractly as an institution.
In this setting the thesis’ contributions are the following:
A method to hybridise arbitrary institutions; this can be understood as a
source of logics to support arbitrary configurations-as-local-models specifications.
A method to lift encodings (technically, comorphisms) from an institution to
a presentation in first-order logic, into encodings from its hybridisation to a
presentation in first-order logic; this result paves the way to the introduction
of suitable automatised proof support for a wide range of hybridised logics.
Suitable characterisations of bisimulation and refinement for models of (generic)
hybridisations, which provide canonical, satisfaction preserving relations to
identify and relate models.
A two-stage specification method for reconfigurable systems based on a global
transition structure to capture the system’s reconfiguration space, and a local
specification of configurations in whatever logic is found expressive enough
for the requirements at hands.
A set of additional technics to assist the process of specifying and verifying
requirements for reconfigurable systems, with partial tool support.O termo reconfigurável é usado para sistemas de software que se comportam
de forma diferente em diferentes modos de operação (frequentemente
chamados de configurações) comutando entre eles, ao longo do seu ciclo de
vida. Estes sistemas, que evoluem em resposta a estímulos externos e internos,
estão por toda a parte, desde sistemas de e-Health ou sistemas integrados
de e-Governement, às redes de sensores, das aplicações domésticas aos complexos
sistemas distribuidos, dos sistemas críticos de missão ao software de
computação paralela.
Existem duas abordagens formais para captar requisitos deste tipo de sistemas:
uma focada no comportamento e evolução; e outra focada nos dados
e respectivas transformações. Segundo o primeiro paradigma, os sistemas reconfiguráveis
são abordados por (alguma variante) de máquinas-de-estados,
correspondendo, cada um dos seus estados, a uma configuração que o sistema
possa assumir. A outra abordagem, orientada aos dados, especifica as funcionalidades
do sistema em função de relações de input-output, que modelam
operações nos dados. Uma especificação apresenta uma teoria numa lógica
adequada, expressa sobre uma assinatura que capta a sua interface sintática.
A sua semântica consiste na classe de álgebras, ou estruturas de primeira ordem,
que modelam a teoria especificada.
A observação de que, a cada momento, os serviços oferecidos por um sistema
reconfigurável possam depender do estado da sua evolução, sugere-nos
que ambas as dimensões (dados e comportamento) estejam interligados e devam
ser combinados. Em particular, cada nó do sistema de transição, que
descreve o espaço de reconfigurabilidade, pode ser dotado de uma estrutura
local onde as funcionalidades do sistema, na respectiva configuração, são
modeladas. Esta é a ideia base da especificação configurações-como-modeloslocais.
Tecnicamente, as especificações são modeladas por máquinas de estados
estruturadas, onde cada estado denota uma estrutura complexa, ao invés
de um conjunto.
Uma especificação para este tipo de sistemas deve ser adequada à expressão
de asserções acerca da dinâmica de transições, assim como, ao nível local de
cada configuração particular. Isto leva-nos à adopção de lógica híbrida, que
adiciona, mecanismos para referir estados específicos à expressividade modal
dos sistemas de transição, como lingua franca para um método adequado de
especificação.
Por outro lado, aplicações podem requerer lógicas específicas para descrever
as suas configurações. Por exemplo, requisitos expressos por equações devem
ser modelados numa perspectiva configurações-como-álgebras. Dependendo
da sua natureza, podemos considerar configurações-como-estruturas
de primeira ordem, ou configurações-como-espaços probabilísticos ou mesmo configurações-como-estruturas de Kripke quando usadas, localmente, lógica
de primeira ordem, lógica fuzzy, ou lógica modal respectivamente.
O objectivo da tese é desenvolver os fundamentos para um método de especificação
baseado nestes princípios. Por forma a acomodar todas estas possibilidades,
a abordagem é desenvolvida sob fundamentos muito genéricos.
Ao invés de comprometer a abordagem com uma lógica híbrida particular,
partimos da escolha da lógica específica para especificar requisitos ao nível
(estáctico) local. Esta lógica é então tomada como lógica de base, sobre a
qual os mecanismos da lógica híbrida, tanto ao nível sintáctico (i.e., modalidades,
nominais, etc.) como ao semântico (i.e., mundos possíveis), são desenvolvidos.
Este processo, que chamamos de hibridização, é uma das principais
contribuições técnicas da tese. A generalidade do método resulta do
seu desenvolvimento no contexto da teoria das instituições de J. Goguen e
R. Burstall. As peincipais contribuições da tese são:
• um método para hibridizar instituições arbitrárias; o que pode ser entendido
como uma fonte de lógicas para suportar especificações configurações-
como-modelos-locais arbitrárias
• um método para transportar codificações de uma instituição nas apresentações
de primeira ordem (tecnicamente comorfismos), em codificações
da sua hibridização em apresentações em primeira ordem; este
resultado abre o caminho para a introdução do suporte de prova automático
para uma ampla classe de lógicas híbridas;
• caracterização de relações de bissimulação e de refinamento para modelos
de hibridizações genéricas. Isto oferece relações canónicas, que
preservam satisfação, para identificar e relacionar modelos;
• um método de especificação para sistemas reconfiguráveis com dois
estágios, baseado numa estrutura de transição global, onde o espaço
de reconfigurações do sistema é modelado; e numa especificação local
das configurações expressa numa lógica escolhida como adequada,
aos requisitos a tratar;
• um conjunto de técnicas adicionais para assistir o processo de especificação
e de verificação de requisitos de sistemas reconfiguráveis com
suporte parcial de ferramentas.Fundação para a Ciência e Tecnologia
(FCT) and Critical Software S.A., under BDE grant under
the contract SFRH/BDE/33650/2009 and by the MONDRIAN Project
(FCT) under the contract PTDC/EIA-CCO/108302/2008
Hybrid programs
The MAP-i Doctoral Programme in Informatics, of the Universities of Minho, Aveiro and PortoThis thesis studies hybrid systems, an emerging family of devices that combine in their
models digital computations and physical processes. They are very quickly becoming a
main concern in software engineering, which is explained by the need to develop software
products that closely interact with physical attributes of their environment e. g. velocity,
time, energy, temperature – typical examples range from micro-sensors and pacemakers,
to autonomous vehicles, transport infrastructures and district-wide electric grids. But
even if already widespread, these systems entail different combinations of programs with
physical processes, and this renders their development a challenging task, still largely
unmet by the current programming practices.
Our goal is to address this challenge at its core; we wish to isolate the basic interactions
between discrete computations and physical processes, and bring forth the programming
paradigm that naturally underlies them. In order to do so in a precise and clean way, we
resort to monad theory, a well established categorical framework for developing program
semantics systematically. We prove the existence of a monad that naturally encodes the
aforementioned interactions, and use it to develop and examine the foundations of the
paradigm alluded above, which we call hybrid programming: we show how to build, in a
methodical way, different programming languages that accommodate amplifiers, differential
equations, and discrete assignments – the basic ingredients of hybrid systems – we list
all program operations available in the paradigm, introduce if-then-else constructs, abort
operations, and different types of feedback.
Hybrid systems bring several important aspects of control theory into computer science.
One of them is the notion of stability, which refers to a system’s capacity of avoiding
significant changes in its output if small variations in its state or input occur. We introduce
a notion of stability to hybrid programming, explore it, and show how to analyse hybrid
programs with respect to it in a compositional manner.
We also introduce hybrid programs with internal memory and show that they form
the basis of a component-based software development discipline in hybrid programming.
We develop their coalgebraic theory, namely languages, notions of behaviour, and bisimulation.
In the process, we introduce new theoretical results on Coalgebra, including
improvements of well-known results and proofs on the existence of suitable notions of
behaviour for non-deterministic transition systems with infinite state spaces.Esta tese estuda sistemas híbridos, uma família emergente de dispositivos que envolvem
diferentes interações entre computações digitais e processos físicos. Estes sistemas estão
rapidamente a tornar-se elementos-chave da engenharia de software, o que é explicado
pela necessidade de desenvolver produtos que interagem com os atributos físicos do seu
ambiente e. g. velocidade, tempo, energia, e temperatura – exemplos típicos variam de
micro-sensores e pacemakers, a veículos autónomos, infra-estruturas de transporte, e redes
eléctricas distritais. Mas ainda que amplamente usados, estes sistemas são geralmente
desenvolvidos de forma pouco sistemática nas prácticas de programação atuais.
O objetivo deste trabalho é isolar as interações básicas entre computações digitais e
processos físicos, e subsequentemente desenvolver o paradigma de programação subjacente.
Para fazer isto de forma precisa, a nossa base de trabalho irá ser a teoria das
mónadas, uma estrutura categórica para o desenvolvimento sistemático de semânticas
na programação. A partir desta base, provamos a existência de uma mónada que capta
as interações acima mencionadas, e usamo-la para desenvolver e examinar os fundamentos
do paradigma de programação correspondente a que chamamos programação híbrida:
mostramos como construir, de maneira metódica, diferentes linguagens de programação
que acomodam amplificadores, equações diferenciais, e atribuições - os ingredientes básicos
dos sistemas híbridos - caracterizamos todas as operações sobre programas disponíveis,
introduzimos construções if-then-else, operações para lidar com excepções, e diferentes
tipos de feedback.
Os sistemas híbridos trazem vários aspectos da teoria de controlo para a ciência da
computação. Um destes é a noção de estabilidade, que se refere à capacidade de um
sistema de evitar mudanças drásticas no seu output se pequenas variações no seu estado ou
input ocorrerem. Neste trabalho, desenvolvemos uma noção composicional de estabilidade
para a programação híbrida. Introduzimos também programas híbridos com memória
interna, que formam a base de uma disciplina de desenvolvimento de software baseado em
componentes. Desenvolvemos a sua teoria coalgébrica, nomeadamente linguagens, noções
de comportamento e bisimulação. Neste processo, introduzimos também novos resultados
teóricos sobre Coalgebra, incluindo melhorias a resultados conhecidos e provas acerca da
existência de noções de comportamento para sistemas de transição não determinísiticos
com espaço de estados infinitos.The present work was financed by FCT – Fundação para a Ciência e a Tecnologia –
with the grant SFRH/BD/52234/2013. Additional support was provided by the PTFLAD
Chair on Smart Cities & Smart Governance and by project Dalí (POCI-01-0145-FEDER-016692), the latter funder by ERDF – European Regional Development Fund – through COMPETE 2020 – Operational Programme for Competitiveness and Internationalisation – together with FCT
Formal aspects of component software
This is the pre-proceedings of 6th International Workshop on Formal Aspects of Component Software (FACS'09)
Políticas de Copyright de Publicações Científicas em Repositórios Institucionais: O Caso do INESC TEC
A progressiva transformação das práticas científicas, impulsionada pelo desenvolvimento das novas Tecnologias de Informação e Comunicação (TIC), têm possibilitado aumentar o acesso à informação, caminhando gradualmente para uma abertura do ciclo de pesquisa. Isto permitirá resolver a longo prazo uma adversidade que se tem colocado aos investigadores, que passa pela existência de barreiras que limitam as condições de acesso, sejam estas geográficas ou financeiras. Apesar da produção científica ser dominada, maioritariamente, por grandes editoras comerciais, estando sujeita às regras por estas impostas, o Movimento do Acesso Aberto cuja primeira declaração pública, a Declaração de Budapeste (BOAI), é de 2002, vem propor alterações significativas que beneficiam os autores e os leitores. Este Movimento vem a ganhar importância em Portugal desde 2003, com a constituição do primeiro repositório institucional a nível nacional. Os repositórios institucionais surgiram como uma ferramenta de divulgação da produção científica de uma instituição, com o intuito de permitir abrir aos resultados da investigação, quer antes da publicação e do próprio processo de arbitragem (preprint), quer depois (postprint), e, consequentemente, aumentar a visibilidade do trabalho desenvolvido por um investigador e a respetiva instituição. O estudo apresentado, que passou por uma análise das políticas de copyright das publicações científicas mais relevantes do INESC TEC, permitiu não só perceber que as editoras adotam cada vez mais políticas que possibilitam o auto-arquivo das publicações em repositórios institucionais, como também que existe todo um trabalho de sensibilização a percorrer, não só para os investigadores, como para a instituição e toda a sociedade. A produção de um conjunto de recomendações, que passam pela implementação de uma política institucional que incentive o auto-arquivo das publicações desenvolvidas no âmbito institucional no repositório, serve como mote para uma maior valorização da produção científica do INESC TEC.The progressive transformation of scientific practices, driven by the development of new Information and Communication Technologies (ICT), which made it possible to increase access to information, gradually moving towards an opening of the research cycle. This opening makes it possible to resolve, in the long term, the adversity that has been placed on researchers, which involves the existence of barriers that limit access conditions, whether geographical or financial. Although large commercial publishers predominantly dominate scientific production and subject it to the rules imposed by them, the Open Access movement whose first public declaration, the Budapest Declaration (BOAI), was in 2002, proposes significant changes that benefit the authors and the readers. This Movement has gained importance in Portugal since 2003, with the constitution of the first institutional repository at the national level. Institutional repositories have emerged as a tool for disseminating the scientific production of an institution to open the results of the research, both before publication and the preprint process and postprint, increase the visibility of work done by an investigator and his or her institution. The present study, which underwent an analysis of the copyright policies of INESC TEC most relevant scientific publications, allowed not only to realize that publishers are increasingly adopting policies that make it possible to self-archive publications in institutional repositories, all the work of raising awareness, not only for researchers but also for the institution and the whole society. The production of a set of recommendations, which go through the implementation of an institutional policy that encourages the self-archiving of the publications developed in the institutional scope in the repository, serves as a motto for a greater appreciation of the scientific production of INESC TEC