Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by José Nuno Oliveira

2008

A relational model for confined separation logic

Authors
Wang, SL; Barbosa, LS; Oliveira, JN;

Publication
TASE 2008: SECOND IFIP/IEEE INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS

Abstract
Confined separation logic is a new extension to separation logic designed to deal with problems involving dangling references within shared mutable structures. In particular it allows for reasoning about confinement in object-oriented programs. In this paper, we discuss the semantics of such an extension by defining a relational model for the overall logic, parametric on the shapes of both the store and the heap. This model provides a simple and elegant interpretation of the new confinement connectives and helps in seeking for duals. A number of properties of this logic are proved calculationally.

2004

A survey of formal methods courses in European higher education: The FME subgroup on education

Authors
Oliveira, JN;

Publication
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract
This paper presents a survey of formal methods courses in European higher education carried out by the FME Subgroup on Education over the last two years. The survey data sample is made of 117 courses spreading over 58 higher-education institutions across 13 European countries and involving (at least) 91 academic staff. A total number of 364 websites have been browsed which are accessible from the electronic (HTML) version of the paper in the form of links to course websites, lecturers and topic entries in encyclopedias or virtual libraries. Three main projections of our sample are briefly analysed. Although far from being fully representative, these already provide some useful indicators about the impact of formal methods in European curricula on computing. © Springer-Verlag 2004.

1997

CAMILA: Prototyping and Refinement of Constructive Specifications

Authors
Almeida, JJ; Barbosa, LS; Neves, FL; Oliveira, JN;

Publication
Algebraic Methodology and Software Technology, 6th International Conference, AMAST '97, Sydney, Australia, December 13-17, 1997, Proceedings

Abstract
This paper accompanies the demonstration of CAMILA, an experimental platform for formal software development, rooted in the tradition of constructive specification methods. The CAMILA approach is an attempt to make available at software development level the basic problem solving strategy one got used to from school physics -- create, experiment and reason on a mathematical model. Based on a notion of formal software component, it encompasses a set-theoretic language and an in equational calculus for classification and refinement. Its kernel is a functional prototyping environment, fully connectable to external applications, equipped with a classified component repository and distribution facilities. © Springer-Verlag Berlin Heidelberg 1997.

2002

Preface

Authors
Backhouse, R; Oliveira, J;

Publication
Science of Computer Programming

Abstract

2009

Editorial

Authors
Boca, P; Boute, R; Duce, D; Oliveira, J;

Publication
Formal Aspects of Computing - Form Asp Comp

Abstract

1990

ARCHETYPE-ORIENTED USER INTERFACES

Authors
MARTINS, FM; OLIVEIRA, JN;

Publication
COMPUTERS & GRAPHICS

Abstract
Theoretical computer science has the aim of formalizing previous empirical, innovative creations in computing, by developing formal methods and models for their description, analysis and design. Formal methods emerged in software engineering as the mathematical support needed for software systems description, design and verification, offering abstract formalisms and domains of models. Interactive software systems design, due to the principle of separation, has been split into two distinct design and implementation processes, one concerned with the computational subsystem, the other addressing the interactive one. However, formal methods have been applied, almost exclusively, in the design of the computational layer. The design of the interactive layer is mainly concerned with the design of the User Interface (UI) of the system or application. Despite its recognized importance and complexity, UI design is still being done on a technological basis and using ad hoc methods. Therefore, it is time to devolve upon user-interface software design the acknowledged benefits derived from the use of formal methods. In this paper, we start by formalizing mechanisms to be embedded in an UI model, appropriate to cope with some characteristics of user input-behaviour, namely, nondeterminism, unreliably and incompleteness. Archetypes are presented as mechanisms for the representation and treatment of incomplete user's input, an innovative step in UI design. We call assisted-user-interfaces (AUI) the class of UI based on such mechanisms. A user-interface development system for their automatic generation, ASSIST, is also described. Finally, we outline an important methodological link between the design of the two layers of an interactive system (interactive and computational). A formal specification of the application contains information that may be systematically used in the design of the relevant parts of the interactive layer. Through ASSIST that information allows for the automatic generation of the AUI. © 1990.

  • 5
  • 11