Jarle Hulaas

Jarle Hulaas
HEIG-VD | HEIG-VD · Media Engineering Institute

Doctor of Engineering

About

75
Publications
7,544
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
657
Citations
Introduction
Jarle Hulaas worked at the Media Engineering Institute, University of Applied Sciences Western Switzerland until 2020. Jarle's main research was on pedagogical Serious Games. Now he is an IT project manager at the HEP-Vaud (University of Teacher Education in Lausanne, Switzerland).

Publications

Publications (75)
Conference Paper
Full-text available
At patient intake in emergency departments, triage is a key step in ensuring optimal patient care and good use of hospital resources. Triage nurses must be able to make correct clinical judgements and triage decisions despite extremely stressful working conditions including noise and task interruptions. This article presents a new serious game desi...
Conference Paper
Full-text available
The teaching of computer programming will soon become compulsory in the gymnasiums of the canton of Fribourg. To this end, we are conducting a project to co-design a serious game and an associated pedagogical scenario. This project is carried out according to a design-based research (DBR) involving the collaboration of an interdisciplinary group. I...
Conference Paper
Full-text available
When entering a bachelor's degree program in a University of Applied Sciences (HES in French), students are confronted with a new environment. Beyond the new teachers and fellow students, the great change lies in a more intense study pace, new pedagogical forms and a greater responsibility in the organization of studies. Meanwhile it is necessary t...
Conference Paper
Full-text available
In the last decade, the use of serious games as a teaching and learning tool has steadily increased in many disciplines. Nevertheless, serious games are still facing crucial challenges, such as their integration in the global learning process. On the other hand, with the increased adoption of online applications and courses, it is becoming possible...
Chapter
Full-text available
At patient intake in emergency departments, triage is a key step in ensuring optimal patient care and good use of hospital resources. Triage nurses must be able to make correct clinical judgements and triage decisions despite extremely stressful working conditions including noise and task interruptions. This article presents a new serious game desi...
Article
Full-text available
Background The clinical decisions of emergency department triage nurses need to be of the highest accuracy. However, studies have found repeatedly that these nurses over- or underestimate the severity of patient health conditions. This has major consequences for patient safety and patient flow management. Workplace distractors such as noise and tas...
Preprint
Full-text available
Background: The clinical decisions of emergency department triage nurses need to be of the highest accuracy. However, studies have found repeatedly that these nurses over- or underestimate the severity of patient health conditions. This has major consequences for patient safety and patient flow management. Workplace distractors such as noise and ta...
Preprint
Full-text available
Background: The clinical decisions of emergency department triage nurses need to be of the highest accuracy. However, studies have found repeatedly that these nurses over- or underestimate the severity of patient health conditions. This has major consequences for patient safety and patient flow management. Workplace distractors such as noise and ta...
Chapter
[...] A ce jour, la compétence en matière de prise de décision des infirmières travaillant aux urgences et en particulier au tri est étudiée à l’aide de différentes méthodes scientifiques et différents outils d’évaluations comme par exemple des vignettes papier, des entretiens ou des observations. Aux vu des enjeux en lien avec la prise de décision...
Conference Paper
Full-text available
Les serious games constituent un outil d'enseignement en essor constant dans de nombreuses disciplines de formation. Leur mise en ligne en améliore bien-sûr la facilité de distribution et d'accès, mais permet aussi de collecter de grandes quantités de données de suivi engendrées par l'activité des apprenants. Dans un cadre pédagogique, ces données...
Poster
Full-text available
La mise en en place d’un nouveau plan cadre au sein des formations HES santé en 2012 a été l’occasion de repenser la formation en soins infirmiers à la HEdS-FR d’un point de vue pédagogique. La formation visant le développement de 9 compétences professionnelles a été organisée sous forme modulaire et des options pédagogiques ont été choisies pour c...
Presentation
Full-text available
Introduction to "TraumaSim", a simulation for acute care training. This serious game, built on the Wegas platform, was demonstrated at the 3ème Journée E-Learning, Haute Ecole de Santé (HEdS), Fribourg, Switzerland, 24 November 2016.
Presentation
Full-text available
Nous aimerions partager notre expérience de création d’un serious game remplaçant une séquence d’apprentissage par problème (APP) destiné à des étudiants infirmiers de 2ème année Bachelor en formation en emploi et à distance. Forts chacun d’une expertise du domaine de la santé (soins en oncologie) ou de l’ingénierie (expérience de serious game dans...
Article
Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile code, such as mobile object systems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like...
Article
Virtual execution environments, such as the Java virtual machine, promote platform-independent software development. However, when it comes to analyzing algorithm complexity and performance bottlenecks, available tools focus on platform-specific metrics, such as the CPU time consumption on a particular system. Other drawbacks of many prevailing pro...
Article
Full-text available
This article constitutes a thorough presentation of an original scheme for portable CPU accounting and control in Java, which is based on program transformation techniques at the bytecode level and can be used with every standard Java Virtual Machine. In our approach applications, middleware, and even the standard Java runtime libraries (i.e., the...
Chapter
Mobile agents are usually expected to execute in open environments. This openness implies that they should be able to dynamically learn how to interact with other agents and services which were not known at development time. The interlocutors therefore have to publish enough information about their functionality, while at the same time they have to...
Conference Paper
Full-text available
Java bytecode instrumentation is a widely used technique, especially for profiling purposes. In order to ensure the instrumentation of all classes in the system, including dynamically generated or downloaded code, instrumentation has to be performed at runtime. The standard JDK offers some mechanisms for dynamic instrumentation, which however eithe...
Conference Paper
This paper presents the weight-watcher service. This service aims at providing resource consumption measurements and estimations for software executing on resource-constrained devices. By using the weight-watcher, software components can continuously adapt and optimize their quality of service with respect to resource availability. The interface of...
Conference Paper
Full-text available
This paper presents a computing model for resource-limited mobile devices that might be ubiquitously deployed in private and business environments. The model integrates a strongly-typed event-based communication paradigm with abstractions for frugal control, assuming a small footprint runtime. With our model, an application consists of a set of dis...
Article
Full-text available
Bytecode instrumentation is a valuable technique for transparently enhancing virtual execution environments for purposes such as monitoring or profiling. Current approaches to bytecode instrumentation either exclude some methods from instrumentation, severely restrict the ways certain methods may be instrumented, or require the use of native code....
Article
Full-text available
Code instrumentation is finding more and more practical applications, but the required program transformations are often difficult to implement, due to the lack of dedicated, high-level tools. In this paper we present a novel instrumentation framework that supports the partial evaluation of compiled Java code transformation templates, with the goal...
Article
Full-text available
This paper presents a novel profiling approach, which is entirely based on program transformation techniques in order to enable exact profiling, preserving complete call stacks, method invocation counters, and bytecode instruction counters. We exploit the number of executed bytecode instructions as profiling metric, which has several advantages, su...
Article
Full-text available
Many performance analysis tools for Java focus on tracking executed bytecodes, but provide little support in determining the specific contribution of native code libraries. This paper introduces and assesses a portable approach for characterizing the amount of native code executed by Java applications. A profiling agent based on the JVM Tool Interf...
Article
Full-text available
Accounting for the CPU consumption of applications is crucial for software development to detect and remove performance bottlenecks (profiling) and to evaluate the performance of algorithms (benchmarking). Moreover, extensible middleware may exploit resource consumption information in order to detect a resource overuse of client components (detecti...
Article
This paper presents a computing model for resource-limited mobile devices. The originality of the model lies in the integration of a stronglytyped event-based communication paradigm with abstractions for frugal control, assuming a small footprint runtime. With our model, an application consists of a set of distributed reactive objects, called FROBs...
Article
Full-text available
As an execution platform, the Java Virtual Machine (JVM) provides many benefits in terms of portability and security. However, this advantage turns into an obstacle when it comes to determining the computing resources (CPU, memory) a program will require to run properly in a given environment. In this paper, we build on the Java Resource Accounting...
Article
Full-text available
Resource management is essential to build reliable middleware and to host potentially untrusted software components. Resource accounting allows to study and optimize program performance and to charge users for the resource consumption of their deployed components, while resource control can limit the resource consumption of components in order to p...
Article
This paper presents a computing model for resource-limited mobile devices. The originality of the model lies in the integration of a strongly-typed event-based communication paradigm with abstractions for frugal control, assuming a small footprint runtime. With our model, an application consists of a set of distributed reactive objects, called FROB...
Article
Full-text available
The Java resource accounting framework, second edition (J-RAF2), is a portable CPU-management framework for Java environments. It is based on fully automated program-transformation techniques applied at the bytecode level and can be used with every standard Java virtual machine. J-RAF2 modifies applications, libraries, and the Java development kit...
Conference Paper
Full-text available
In this paper we present a novel scheme for portable CPU accounting and control in Java, which is based on program transformation techniques and can be used with every standard Java Virtual Machine. In our approach applications, libraries, and the Java Development Kit are modified in order to expose details regarding the execution of threads. Each...
Conference Paper
Full-text available
Resource management is a precondition to build reliable, extensible middleware and to host potentially untrusted user components. Resource accounting allows to charge users for the resource consumption of their deployed components, while resource control can limit the resource consumption of components in order to prevent denial-of-service attacks...
Article
Full-text available
In this paper we introduce a novel scheme for portable CPU accounting and control in Java, which is based on program transformation techniques at the bytecode level and can be used with every standard Java Virtual Machine. In our approach applications, middleware, and the standard java runtime libraries (i.e., the Java Development Kit, or JDK) are...
Article
Full-text available
This paper outlines an original Computational Grid deploy- ment protocol which is entirely based on Java, leveraging the portability of this language for distributing customized computations throughout large-scale heterogeneous networks. It describes practical solutions to the current weaknesses of Java in the flelds of security and resource con- t...
Article
To realize dependable and profitable information and communication systems, computing resources (CPU, memory, network bandwidth) should be taken into account to a much wider extent than they are today. E-commerce infrastructure, such as application servers, are especially concerned by this issue. This paper shows how an existing Java-based code tra...
Article
In a system, resource control implies accounting and limiting the consumption of computation resources (CPU, memory, network bandwidth, etc.). We have already developed CPU accounting tools and a memory accounting tool in Java. All these tools have been developed with the same approach, which is based in transformations of programs at byte code lev...
Article
Full-text available
Mobile code has often been mentioned as an attractive technol- ogy for distributing computations inside a Grid consisting of heterogeneous nodes interconnected by a large-scale network. We describe here a Java-based mobile agent model for a Grid infrastructure which addresses issues such as customizable distribution of computation, security, billin...
Article
The goal of this paper is to show the benefits of using reflective techniques and meta-programming in the context of active networks, i.e. networks where packets may contain code which programs the network 's behavior. By having separate base-levels and meta-levels it is possible to increase the manageability of systems constructed with mobile code...
Article
Full-text available
Prevention of denial-of-service attacks is indispensable for distributed agent systems to execute securely. To implement the required defense mechanisms, it is necessary to have support for resource control, i.e., accounting and limiting the consumption of resources like CPU, memory, and threads. Java is the predominant implementation language for...
Article
This paper presents a framework based on mobile code for ensuring a semantically correct interoperation among loosely coupled agent systems in wide-area networks. Dynamic service lookup is supported by a distributed service registration and publication infrastructure, which offers a differentiation between service types and service providers, as we...
Conference Paper
Prevention of denial-of-service attacks is indispensable for distributed multi-agent systems to execute securely. To implement the required defense mechanisms, it is necessary to have support for resource control, i.e., accounting and limiting the consumption of resources like CPU, memory, and threads. Java is the predominant implementation languag...
Article
Preventing abusive resource consumption is indispensable for all kinds of systems that execute untrusted mobile code, such as mobile object systems, extensible web servers, and web browsers. To implement the required defense mechanisms, some support for resource control must be available: accounting and limiting the usage of physical resources like...
Article
Full-text available
During the last ten years, the Internet has grown considerably. More interconnected people yields increased information security problems. Indeed, the continuous increase in computer in-terconnectivity and interoperability in a fully open way enhances the intruder's ability to attempt malicious behaviour against computers and networks and furthermo...
Conference Paper
Resource control, i.e., accounting and limiting the allocation of resources like CPU, memory, and threads, is necessary for distributed agent systems to prevent denial-of-service attacks. Currently, the majority of mobile agent systems is based on Java, even though resource control is a missing feature on standard Java platforms. In this article we...
Conference Paper
Full-text available
This paper presents a framework based on mobile code for ensuring a semantically correct interoperation among loosely coupled agent systems in wide-area networks. Dy- namic service lookup is supported by a distributed ser- vice registration and publication infrastructure, which of- fers a differentiation between service types and service providers,...
Article
Prevention of denial-of-service attacks is indispensable for distributed agent systems to execute securely. To implement the required defense mechanisms, it is necessary to have support for resource control, i.e., accounting and limiting the consumption of resources like CPU, memory, and threads. Java is the predominant implementation language for...
Article
Full-text available
This paper shows the aspects of CO-OPN/2, a formal component-oriented modeling language based on algebraic Petri nets, that can be used for the formal modelling of distributed applications involving mobile agent technology. The CO-OPN/2 language offers several structuring tools to make consequently sized projects manageable, and the development env...
Article
Domain Name eXchange (DNX) is a platform-independent system designed to extend Core's proposed Shared Registry System for managing domain names. It aims to provide several value-added services to the market, including intelligent registration. Two levels within DNX's distributed architecture are defined. The registrar level consists of an agentspac...
Conference Paper
This paper presents the usage of meta-level architectures within the framework of active network systems, in order to facilitate the management of services and applications
Article
. The goal of this paper is to show the benefits of using metaprogramming in the context of mobile agents and active network systems. By having separate base-levels and meta-levels it is possible to increase the manageability of systems constructed with mobile entities, since special meta-level managers can directly intercept the activity of base-l...
Conference Paper
The goal of this paper is to show the benefits of using reflective techniques and meta-programming in the context of active networks, i.e. networks where packets may contain code which programs the network 's behavior. By having separate base-levels and meta-levels it is possible to increase the manageability of systems constructed with mobile code...
Conference Paper
Full-text available
Internet domain name management is currently developing into a very significant market. We present the design and implementation of the domain name exchange (DNX) platform, the primary purpose of which is to support an integrated market for domain names. Our platform is based on mobile agent technology, which enables flexible and efficient electron...
Conference Paper
Mobile agents are usually expected to execute in open environments, and this makes them particularly vulnerable to directed attacks. In this paper, we are interested in the aspects of security related to the initiation and maintainance of secure interaction between mobile agents from different origins meeting or residing in the same computational e...
Article
Full-text available
This paper describes the techniques and tools developed to support the construction of CO-OPN specifications (Concurrent Object Oriented Petri Nets) [7] and the kind of semantics that are needed for each part of the environment. CO-OPN is a specification language which permits an abstract description of aspects of concurrent operations and data-str...
Thesis
Full-text available
This thesis presents a new incremental prototyping methodology for formally specified distributed systems. The objective of this methodology is to fill the gap which currently exists between the phase where a specification is simulated, generally using some sequential logical inference tool, and the phase where the modeled system has a reliable, ef...
Conference Paper
Full-text available
This paper presents several extensions to a new evolutive prototyping process, called object-oriented mixed prototyping. Our application field is complex distributed systems modelled by the means of CO-OPN (concurrent object-oriented Petri nets), a hierarchical algebraic Petri net language. CO-OPN being a strong synchronous language, we also show a...
Article
Full-text available
This paper presents a new prototyping methodology for large concurrent systems modelled by the means of hierarchical algebraic Petri nets. First, the source specifications are automatically translated into a main-stream object-oriented language, thus providing a portable and highlevel initial implementation. The generated class hierarchy is designe...
Article
Full-text available
Data Types, Object-Oriented languages, Polymorphism. 1. Introduction Formal specifications are taking an ever increasing importance in industrial applications. In particular for concurrent systems where behavior prediction and validation of the system under development are complex tasks. The advantage of formal methods resides by definition in thei...
Article
In this document we give an overview of the CO-OPN/1.5 (Concurrent Object-Oriented Petri Nets) specification language and describe the features of each tool provided in the SANDS/1.5 (Structured Algebraic Net Development System) development environment. The CO-OPN/1.5 language is a specification language devised to support the development of large...
Article
Automatic implementations of abstract data types (ADT) from algebraic specifications are currently all done in either functional, logical or purely imperative languages. In this paper we show how object-oriented languages naturally facilitate this job, and why they provide better flexibility in the process of progressively replacing the automatical...
Article
Full-text available
Monitoring of CPU consumption is a very basic requirement in many areas of soft- ware. It is especially valuable in the frame of Internet applications, in support of specific aspects such as security, reliability, and adaptability. This paper is set in the context of J-RAF2, a Java- based framework exploiting bytecode rewriting techniques in order...
Article
This paper studies the use of bytecode instruction counting (BIC) to estimate the CPU load due to the execution of Java programs in different environments. BIC is the basis of the J-RAF2 framework to monitor and control the resource consumption of Java code, and, more recently, is also used in another tool to profile Java code. The advantage of BIC...

Network

Cited By