Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where J. Paul Gibson is active.

Publication


Featured researches published by J. Paul Gibson.


technical symposium on computer science education | 2006

RoboCode & problem-based learning: a non-prescriptive approach to teaching programming

Jackie O'Kelly; J. Paul Gibson

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 to learning. The net result means that there are few good PBL problems available to assist new practitioners with implementation. PBL emphasizes a real-world approach to learning, and we present a RoboCode Competition as a candidate for a good, realistic PBL problem within the computer science discipline. We list and identify the criteria that categorise a PBL problem as good and validate the RoboCode domain against these criteria. We argue that the concept of freedom --- in different guises --- plays a key role in making PBL a good mechanism for teaching programming, and for making RoboCode a good domain for PBL.


ACM Transactions on Intelligent Systems and Technology | 2015

EEMC: Enabling Energy-Efficient Mobile Crowdsensing with Anonymous Participants

Haoyi Xiong; Daqing Zhang; Leye Wang; J. Paul Gibson; Jie Zhu

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 energy consumption due to the 3G connection setup. However, if data are transferred in parallel with a traditional phone call, then such transfer can be done almost “for free”: with only an insignificant additional amount of energy required to piggy-back the data—usually incoming task assignments and outgoing sensor results—on top of the call. Here, we present an Energy-Efficient Mobile Crowdsensing (EEMC) framework where task assignments and sensing results are transferred in parallel with phone calls. The main objective, and the principal contribution of this article, is an MCS task assignment scheme that guarantees that a minimum number of anonymous participants return sensor results within a specified time frame, while also minimizing the waste of energy due to redundant task assignments and considering privacy concerns of participants. Evaluations with a large-scale real-world phone call dataset show that our proposed EEMC framework outperforms the baseline approaches, and it can reduce overall energy consumption in data transfer by 54--66p when compared to the 3G-based solution.


international computing education research workshop | 2005

Software engineering as a model of understanding for learning and problem solving

J. Paul Gibson; Jackie O'Kelly

This paper proposes a model which explains the process of learning about computation in terms of well-accepted software 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 it all students make sense of computational processes; by reporting on experimental observations that have been made with school children, and with university undergraduates. We observed little difference between children and adults with regard to how they learn about computation, and suggest that the strong similarities are due to a common set of problem-solving techniques which are fundamental to all problem based learning, in general, and learning about computation, in particular. To conclude, we demonstrate that our model --- based on software engineering concepts --- is useful when reasoning about the relationship between problem solving and learning to program.


Natural Computing | 2008

Lower bounds on the computational power of an optical model of computation

Damien Woods; J. Paul Gibson

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 verifies the parallel computation thesis. As a corollary we find that when the model is restricted to simultaneously use polylogarithmic time and polynomial space, its power is lower bounded by the class NC. By combining these results with the known upper bounds on the model, we find that the model verifies the parallel computation thesis and, when suitably restricted, characterises NC.


Electronic Notes in Theoretical Computer Science | 2007

Refinement: A Constructive Approach to Formal Software Design for a Secure e-voting Interface

Dominique Cansell; J. Paul Gibson; Dominique Méry

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 election not being able to return any result. In the worst case scenario an incorrect result is returned - perhaps due to malicious intent - and this is not detected. We demonstrate that an incorrect interface is a major security threat and show the use of the formal method B in guaranteeing simple safety properties of the voting interface of a voting machine implementing a common variation of the single transferable vote (STV) election process. The interface properties we examine are concerned with the collection of only valid votes. Using the B-method, we apply an incremental refinement approach to verifying a sequence of designs of the interface for the collection and storage of votes, which we prove to be correct with respect to the simple requirement that only valid votes can be collected.


technical symposium on computer science education | 2009

Software reuse and plagiarism: a code of practice

J. Paul Gibson

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 students degree result, particularly in courses were there is a significant emphasis on large-scale projects. We argue that a policy for software reuse is the most explicit, and fair, way of overcoming this problem. In our policy, we specify the notion of software to cover all the documents that are generally built during the engineering of a software system -- analysis, requirements, validation, design, verification, implementation and tests. Examples are used to show acceptable and unacceptable forms of reuse, mostly at the design, testing and implementation stages. These examples are represented in Java, although they should be easily understood by anyone with software engineering experience. We conclude with a simple code of practice for reuse of software based on a file-level policy, combined with emphasis on re-using only what is rigorously verified.


leveraging applications of formal methods | 2014

On Implicit and Explicit Semantics: Integration Issues in Proof-Based Development of Systems

Yamine Ait-Ameur; J. Paul Gibson; Dominique Méry

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 focused on binary relationships, for example: validation of a formal model against an informal one, verification of one formal model against another formal model, generation of code from a design, and generation of tests from requirements. The contexts of the systems in these cases are treated as second-class citizens: in general, the modelling is implicit and usually distributed between the requirements model and the system model. This paper is concerned with the explicit modelling of contexts as first-class citizens and illustrates concepts related to implicit and explicit semantics on an example using the Event B language.


integrating technology into computer science education | 2012

Teaching graph algorithms to children of all ages

J. Paul Gibson

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 can be used with students of a wide range of abilities. Also, we comment on the importance of problem based learning where the algorithms are presented as possible solutions to games or puzzles. Finally, we conclude with a number of important observations with regard to the introduction of computer science into schools.


Annales Des Télécommunications | 2016

A review of E-voting: the past, present and future

J. Paul Gibson; Robert Krimmer; Vanessa Teague; Julia Pomares

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, security, anonymity and trust. Changing the way in which people vote has many social and political implications. The role of election administrators and (independent) observers is fundamentally different when complex communications technology is involved in the process. Electronic voting has been deployed in many different types of election throughout the world for several decades. Despite lack of agreement on whether this has been a ‘success’, there has been—in the last few years—enormous investment in remote electronic voting (primarily as a means of exploiting the internet as the underlying communication technology).This paper reviews the past, present and future of on-line voting. It reports on the role of technology transfer, from research to practice, and the range of divergent views concerning the adoption of on-line voting for critical elections.


international symposium on architecting critical systems | 2010

Engineering a distributed e-voting system architecture: meeting critical requirements

J. Paul Gibson; Eric Lallet; Jean-Luc Raffy

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 negative consequences for all system stakeholders. It is clear that the formal verification of e-voting system models would help to address problems associated with certification against standards, and would improve the trustworthiness of the final systems. However, it is not yet clear how best to carry out such formal modelling and verification in order to leverage the compositional nature of the problem, and manage the complexity of the task. The choice of modelling language - for expressing the high level design and architecture of an e-voting system - poses many problems due to the complex mix of requirements that such a system is required to meet. Different modelling languages are more-or-less suited to the verification of different critical requirements. Thus, we report on a mixed model approach: where we address 3 different types of critical requirements using 3 different modelling languages and development strategies. Firstly, we report on network quality-of-service issues that are analyzed through simulation models. Secondly, we report on functional correctness of a counting process that can be validated through algebraic techniques. Finally, we report on the use of formal refinement to reason about the correctness of design steps when adding detail to an architecture model. To conclude, we acknowledge the main problem that arises from such a mixed-model approach to architecture verification: how can we be sure that the different models are coherent when we integrate them in a final implementation?

Collaboration


Dive into the J. Paul Gibson's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Damien Macnamara

Limerick Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ken Oakley

Limerick Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge