
J. Paul GibsonInstitut Mines-Télécom | telecom-sudparis.eu · INF : Informatique
J. Paul Gibson
BSc PhD HDR
About
116
Publications
32,019
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,362
Citations
Introduction
Additional affiliations
October 1998 - September 2006
September 1998 - September 2005
September 1989 - April 1993
Education
September 2010 - September 2011
September 1989 - April 1993
September 1985 - May 1989
Publications
Publications (116)
Digital technology is now pervasive, however, not all groups have uniformly benefitted from technological changes and some groups have been left behind or digitally excluded. Comprehensive data from the 2017 Current Population Survey shows that older people and persons with disabilities still lag behind in computer and internet access. Furthermore...
Digital Pills are a drug-device technology that allow for the combination of traditional medications with a monitoring system that automatically records data about medication adherence and patients’ physiological data. They are a promising innovation in digital medicine; however, their use has raised a number of ethical concerns. In this paper, we...
Within the Computer Science community, many ethical issues have emerged as significant and critical concerns. Computer ethics is an academic field in its own right and there are unique ethical issues associated with information technology. It encompasses a range of issues and concerns including privacy and agency around personal information, Artifi...
Purpose
Computing ethics represents a long established, yet rapidly evolving, discipline that grows in complexity and scope on a near-daily basis. Therefore, to help understand some of that scope it is essential to incorporate a range of perspectives, from a range of stakeholders, on current and emerging ethical challenges associated with computer...
There has been much recent interest in the development of electronic voting (e-voting) systems, but there remain many outstanding research challenges for software and system engineers. Software product line (SPL) techniques offer many advantages for the practical development of reliable and trustworthy e-voting systems, but the composition of syste...
Cyber-Physical Systems (CPSs) [1] connect the real world to software systems through a network of sensors and actuators in which physical and logical components interact in complex ways. There is a diverse range of application domains [2], including health [3], energy [4], transport [5], autonomous vehicles [6] and robotics [7]; and many of these i...
The increasing development of cyber-physical systems (CPSs) requires modellers to represent and reason about physical values. This paper addresses two major, inter-related, aspects that arise when modelling physical measures. Firstly, there is often a heterogeneity of representation; for example: speed can be represented in many different units (mp...
The increasing development of cyber-physical systems (CPSs) requires modellers to represent and reason about physical values. This paper addresses two major, inter-related, aspects that arise when modelling physical measures. Firstly, there is often a heterogeneity of representation; for example: speed can be represented in many different units (mp...
Although several authors like Zave and Jackson [11, 17], Bjørner [5], Van Lamsweerde [13] have drawn the attention of system designers on the necessity to handle domain knowledge, while designing systems, it is still a major concern nowadays.KeywordsPosteriori ApproachesOntology Modeling LanguageMedical ProtocolsFormal System DevelopmentExpress Dom...
The design of e-voting systems requires the use of techniques which guarantee that the resulting system is safe, secure and preserves privacy. We develop Event-B models of a voting system, by applying a decomposition pattern and a technique of contextualisation, using a dependency mechanism. Through refinement, we take into account the precise regu...
Students often learn formal methods as part of a software engineering degree programme, without applying these formal methods outside of the specific module(s) dedicated to this subject. In particular, software engineering students often have to build a significant application/program/system in a substantial project at the end of their programme (i...
Nowadays, the formal development of complex systems (including hardware and/or software) implies the writing, synthesis and analysis of many kind of models on which properties are expressed and then formally verified. These models first provide separation of concerns, but also the appropriate level of abstraction to ease the formal verification. Ho...
Electronic voting systems are those which depend on some electronic technology for their correct functionality. Many of them depend on such technology for the communication of election data. Depending on one or more communication channels in order to run elections poses many technical challenges with respect to verifiability, dependability, securit...
In mobile crowdsensing (MCS), one of the participants' main concerns is the cost for 3G data usage, which affects their willingness to participate in a crowdsensing task. In this paper, we present the design and implementation of an MCS data uploading mechanism--ecoSense--to help reduce additional 3G data cost incurred by the whole crowd of sensing...
Mobile Crowdsensing (MCS) requires users to be motivated to participate. However, concerns regarding energy consumption and privacy—among other things—may compromise their willingness to join such a crowd. Our preliminary observations and analysis of common MCS applications have shown that the data transfer in MCS applications may incur significant...
Mobile crowdsensing (MCS) requires users to be motivated to participate. However, concerns regarding energy consumption and privacy --- amongst \modf{other} things --- may compromise their willingness to join such a crowd. Our preliminary observations and analysis of common MCS applications \modf{have} shown that the data transfer in MCS applicatio...
Technical advances in machine and system virtualization are creating opportunities for remote learning to provide significantly better support for active education approaches. Students now, in general, have personal computers that are powerful enough to support virtualization of operating systems and networks. As a consequence, it is now possible t...
This work presents a feature-oriented taxonomy for commercial electronic voting machines, which focuses on usability aspects. Based on this analysis, we propose a ‘Just-Like-Paper’ (JLP) classification method which identifies five broad categories of eVoting interface. We extend the classification to investigate its application as an indicator of v...
All software systems execute within an environment or context. Reasoning about the correct behavior of such systems is a ternary relation linking the requirements, system and context models. Formal methods are concerned with providing tool (automated) support for the synthesis and analysis of such models. These methods have quite successfully focus...
System engineering is a complex discipline[1], which is becoming more and more complicated by the heterogeneity of the subsystem components[2] and of the models involved in their design. This complexity can be managed only through the use of formal methods[3]. However, in general the engineering of software in such systems leads to a need for a mix...
It is with great pleasure that we introduce the 5th IEEE Interna-tional Workshop on UML and Formal Methods. Already, in its short 5 year history, the workshop has been located across the globe: Japan, Brazil, China, Ireland, and  this year  in Paris, France. For its first 3 years it was co-located with the International Conference on Formal Eng...
We report on our experiences in teaching graph theory and algorithms to school children, aged 5 to 17. Our objectives were to demonstrate that children can discover quite complex mathematical concepts, and are able to work with abstractions and use computation reasoning from quite an early age. We provide details of our incremental approach, which...
Model-driven development (MDD) is a very popular technique in the area of software development, but this technique is criticized due to lack of a formal semantics. MDD is used for large-scale system development using semi-formal techniques like UML (Unified ...
We report on the formal development of a test oracle for an electronic-voting system, detailing our approach which was based
on a lightweight integration of Event-B, UML, and Java. This lightweight integration focuses on a coherent development process rather than
on formal integration at the model/language level. We then briefly review alternative...
We report on the development of a software engineering programme for Masters students. Maintainability of educational programmes is critical: there is a large initial investment in developing quality programmes and we must ensure that these programmes are "future proof". Conse-quently, we followed a traditional software engineering life-cycle proce...
We report on the development of a novel electronic vote machine interface, with emphasis on the requirements engineering process. In particular, we review how we followed an operational prototyping approach in order to gain a better understanding of requirements in an incremental fashion. Our most interesting observations are concerned with the evo...
Two issues that have significantly impeded the widespread adoption and acceptance of modern e-voting solutions are the lack of an intuitive user interface and the inability to formally verify the results. This paper presents the findings of an extensive analysis of public opinion on usability and verifiability in e-voting. Based on these results it...
Voting is a critical component of any democratic process; and electronic voting systems should be developed following best practices for critical system development. E-voting has illustrated the importance of formal software engineering in the development of complex systems: poorly engineered and poorly documented voting systems have had serious ne...
In general, university guidelines or policies on plagiarism are not sufficiently detailed to cope with the technical complexity of software. Software plagiarism can have a significant impact on a student's degree result, particularly in courses were there is a significant emphasis on large-scale projects. We argue that a policy for software reuse i...
In general, university guidelines or policies on plagiarism are not sufficiently detailed to cope with the technical complexity of software. Software plagiarism can have a significant impact on a student's degree result, particularly in courses were there is a significant emphasis on large-scale projects. We argue that a policy for software reuse i...
A significant number of failures in e-voting systems have arisen because of poorly specified requirements, combined with an ad-hoc approach to engineering multiple variations of similar machines. We demonstrate that e-voting is a suitable domain for leveraging state-of- the-art in software product line (SPL) engineering techniques and tools. We pro...
The idea of weaving formal methods through computing (or software engineering) degrees is not a new one. However, there has been little success in developing and implementing such a curriculum. Formal methods continue to be taught as stand-alone modules and students, in general, fail to see how fundamental these methods are to the engineering of so...
In this paper we propose that formal modelling techniques are necessary in establishing the trustworthiness of e-voting systems and the software within. We illustrate how a distributed e-voting system architecture can be analysed against quality of service requirements, through simulation of formal models. A concrete example of a novel e-voting sys...
This work is concerned with the computational complexity of a model of computation that is inspired by optical computers. We present lower bounds on the computational power of the model. Parallel time on the model is shown to be at least as powerful as sequential space. This gives one of the two inclusions that are needed to show that the model ver...
E-voting systems should be verified to be fit-for-purpose before being deployed, but there is a serious lack of provision for verification and maintenance in existing standards and recommendations for e-voting. A change to requirements, or to the system, usually results in the previously established fitness-for-purpose being compromised. Therefore...
The storage of votes is a critical component of any voting system. In traditional systems there is a high level of transparency in the mechanisms used to store votes, and thus a reasonable degree of trustworthiness in the security of the votes in storage. This degree of transparency is much more difficult to attain in electronic voting systems, and...
Electronic voting machines have complex requirements. These machines should be developed following best practice with regards to the engineering of critical systems. The correctness and security of these systems is critical because an insecure system could be open to attack, potentially leading to an election returning an incorrect result or an ele...
In many jurisdictions around the world, the introduction of e-voting has been subject to wide-ranging debate amongst voters, politicians, political scientists, computer scientists and software engineers. A central issue is one of public trust and confidence: should voters be expected to put their faith in “closed” electronic systems where previousl...
The fundamental principle behind Problem-based Learning (PBL) is that the problem is the driving force that initiates the learning. In order to function effectively in a PBL environment a good set of problems is required. Solving problems is a vital element within Computer Science and yet the discipline has been slow to embrace PBL as an approach t...
The fundamental principle behind Problem-based Learning (PBL) is that the problem is the driving force that initi- ates the learning. In order to function eectively in a PBL environment a good set of problems is required. Solving problems is a vital element within Computer Science and yet the discipline has been slow to embrace PBL as an ap- proach...
A system has been developed for providing automated assessment in CS1. During the academic year 2004-2005 this system was evaluated empirically by examining a sample group of students using both the traditional assessment methods and also the automated techniques, four times during the year. A significant correlation was found between the performan...
In September 2004, the Council of Europe's Committee of Ministers officially adopted a set of standards recommended by the Multidisciplinary Ad Hoc Group of Specialists on legal, operational and technical standards for e-enabled voting [7]. This paper puts the standards in their historical context, examines them according to established software en...
We investigate the computational complexity of an optical model of computation called the continuous space machine (CSM). We characterise worst case resource growth over time for each of the CSM’s ten operations with respect to seven resource measures. Many operations exhibit unreasonably large growth rates thus motivating restrictions on the CSM,...
This paper describes the use of random code generation and mutation as a method for synthesising multiple choice questions which can be used in automated assessment. Whilst using multiple choice questions has proved to be a feasible method of testing if students have suitable knowledge or comprehension of a programming concept, creating suitable mu...
This paper describes the use of random code generation and mutation as a method for synthesising multiple choice questions which can be used in automated assessment. Whilst using multiple choice questions has proved to be a feasible method of testing if students have suitable knowledge or comprehension of a programming concept, creating suitable mu...
It is a universal challenge to bridge the gap between academia and industry, and between theory and practice. This challenge is particularly critical in the discipline of software engineering and is often categorised under the umbrella of technology transfer. Experience suggests that one of the least well understood aspects of software devel- opmen...
This paper proposes a model which explains the process of learning about computation in terms of well-accepted soft-ware engineering concepts, and argues that our approach to understanding how problem-solving skills are acquired is an innovation over well-accepted learning theories and models. It examines how all students make sense of computationa...
This paper presents a pilot study to test plans for an empirical study, which will compare the comprehensibility of two specifications: a formal speci- fication and an informal specification. The two documents used in the pilot study implemented the same logic, namely a portion of the Irish Electoral sys- tem. The "informal specification" was taken...
It can be argued that although computer science may seem one of the best researched areas, it could also be one of the worst taught. In this research we examine the residual problems in traditional teaching methods, and how the same problems have re-occurred in web-based education. We cite the lack of a cognitive model for learning programming as t...
Computer Science, particularly programming, is regarded as a very difficult subject to study and also to teach. Unlike other academic areas such as linguistics or physics, there is very little pedagogical research in the area. It is important to first understand how students learn, before attempting to teach them. The recent increase in the use of...
We report on a continuing study into teaching programming to pre-teens school-children, with some as young as seven years old. As part of the study we aim to test childrens' algorithmic understanding through their ability to solve puzzles and play games; and to turn this understanding into working code. We review a project in which children have pr...
In this paper, we present a taxonomy that allows the maintainer to catalog OO classes based on the characteristics of the class. The characteristics of a class include the properties of data items and methods, as well as the relationships with other classes in the application. We construct a tool to track changes across multiple releases of softwar...
This is a study of electronic voting, with emphasis on its implementation in the Republic of Ireland. We place electronic voting in its historical context, and define the basic requirements for any voting system. We examine remote electronic voting (REV) and kiosk voting -- in particular the Nedap/Powervote system bought by the Irish government --...
identifies a class that contains deferred features. Concrete if the class has no deferred features.
A profiler can provide valuable information to a developer to facilitate program optimization, debugging or testing. In this paper, we describe the use of the Decorator pattern for non-intrusive profiling of object-oriented applications. We provide a formal specification of the Decorator pattern, and show that the pattern can be used as a program t...
A profiler can provide valuable information to a developer to facilitate program optimization, debugging or testing. In this paper, we describe the use of the decorator pattern for non-intrusive profiling of object-oriented applications. We provide a formal specification of the decorator pattern, and show that the pattern can be used as a program t...
We prove computability and complexity results for an original model of computation. Our model is inspired by the theory of Fourier optics. We prove our model can simulate analog recurrent neural networks, thus establishing a lower bound on its computational power. We also prove some computational complexity results for searching and sorting algorit...
Soft constraints are a generalization of classical constraints, where constraints and/or partial assignments are associated to preference or importance levels, and constraints are combined according to combinators which express the desired optimization ...
Requirements models have three distinct roles - they are the principle media of communication between clients and requirements engineers, they are the only model upon which rigorous and automated analysis can be carried out before development begins, and they are the structural foundation upon which design and implementation depend. A major part of...
When specifying large systems, we would like to be able to specify small components independently, and to be able to compose them in such a way that their specified properties are preserved. We have previously proposed the concept of a fair object, which incorporates the specification of both safety and liveness properties, as a suitable such unit...
Formal methods are becoming increasingly important in many areas of software development and should be incorporated in the teaching of software engineering. Requirements capture is, in our opinion, the hardest stage of development for students to learn and for lecturers to teach. The paper reports on our experience in teaching requirements engineer...
We report results of a joint project with France Telecom on the modelling of telephone services (features) using formal methodologies
such as OO ACT ONE, B and TLA+. We show how we formalise the feature interaction problem in a multi-view model, and we examine issues such as animation,
validation, proof and verification.
The size and complexity of hardware and software systems continues
to grow, making the introduction of subtle errors a more likely
possibility. A major goal of software engineering is to enable
developers to construct systems that operate reliably despite increased
size and complexity. One approach to achieving this goal is through
formal methods:...
Colloque avec actes et comité de lecture. internationale.
The Internet Protocol (IP) is the protocol used to provide connectionless communication between hosts connected to the Internet. It provides a basic internetworking service to transport protocols such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). These in turn provide both connection-oriented and connectionless services t...
We believe that a more rigorous method of specification and validation can be achieved by first developing a specification architecture whose high-level semantics are based on object oriented concepts. This architecture promotes the construction of new functionality in a formal manner using rigorous notions of composition and inheritance. An object...
Requirements engineering is the first step in the software engineering process. A major part of building requirements is the modelling of the system to be developed (or updated) together with the system environment. These models are, of course, abstractions of the real world and as such we can say that they are simulations which need to be validate...
We report results of a joint project with France Telecom on the modelling of telephone services (features) using formal methodologies such as OO ACT ONE, B and TLA+. We show how we formalise the feature interaction problem in a multi-view model, and we examine issues such as animation, validation, proof and verification.
The feature interaction problem is prominent in telephone service development. Through a number of case studies, we have discovered that no single semantic framework is suitable for the synthesis and analysis of formal feature requirements models, and the choice of modelling language has certain knock-on effects on the transformational design steps...
The temporal logic of actions (TLA) provides operators to express liveness requirements in an abstract specification model. TLA does not, however, provide high level composition mechanisms which are essential for synthesising and analysing complex behaviour. Contrastingly, the object oriented paradigm has proven itself in the development of structu...
The feature interaction problem is prominent in telephone service development. Through a number of case studies, we have discovered that no single semantic framework is suitable for the synthesis and analysis of formal feature requirements models, and the choice of modeling language has certain knock-on effects on the transformational design steps...
Colloque avec actes et comité de lecture.
The composition (and configuration) of requirements is particularly important in feature specification because the units of incrementation in system development are themselves features. Thus we have requirements models made up of a large number of components, each of which is easy to specify and validate individually, but whose complexity resides i...
ware engineering. We believe that discrete mathematics is the foundation upon which software development can be lifted up to the heights of a true engineering discipline. The transfer of for-mal methods to industry cannot be expected to occur without first transferring, from academia to industry, graduates who are well grounded in such mathematical...
Object oriented models and methods encompass a set of techniques which have been, and will continue to be, applied in the successful production of complex software systems. The methods are based on the simple concepts of abstraction, encapsulation, classification and polymorphism. The formal verification of logical properties of such models is diff...
Requirements capture is the first step in the process of meeting customer needs. Building and analysing a model of customer needs, with the intention of passing the result of such a process to system designers, is one of the least well understood aspects of software engineering. The process is as much an art as a science. The object oriented paradi...
Object oriented models and methods encompass a set of techniques which have been, and will continue to be, applied in the successful production of complex software systems. The methods are based on the simple concepts of abstraction, encapsulation, classification and polymorphism. The formal verification of logical properties of such models is diff...
This chapter reports on the research that arose in response to the need for more formal means of verifying telecom feature systems. The strategy is based on combining object-oriented and temporal logic models in a coherent and complementary manner. This provides a compositional approach to verify systems of interacting telephone features. Specifica...