Network


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

Hotspot


Dive into the research topics where Nicolas Stouls is active.

Publication


Featured researches published by Nicolas Stouls.


Lecture Notes in Computer Science | 2005

GeneSyst: a tool to reason about behavioral aspects of B event specifications. application to security properties

Didier Bert; Marie-Laure Potet; Nicolas Stouls

In this paper, we present a method and a tool to build symbolic labelled transition systems from B specifications. The tool, called GeneSyst, can take into account refinement levels and can visualize the decomposition of abstract states in concrete hierarchical states. The resulting symbolic transition system represents all the behaviors of the initial B event system. So, it can be used to reason about them. We illustrate the use of GeneSyst to check security properties on a model of electronic purse.


Lecture Notes in Computer Science | 2007

Security policy enforcement through refinement process

Nicolas Stouls; Marie-Laure Potet

In the area of networks, a common method to enforce a security policy expressed in a high-level language is based on an ad-hoc and manual rewriting process [24]. We argue that it is possible to build a formal link between concrete and abstract terms, which can be dynamically computed from the environment data. In order to progressively introduce configuration data and then simplify the proof obligations, we use the B refinement process. We present a case study modeling a network monitor. This program, described by refinement following the layers of the TCP/IP suite protocol, has to warn for all observed events which do not respect the security policy. To design this model, we use the event-B method because it is suitable for modeling network concepts. This work has been done within the framework of the POTESTAT project [9], based on the research of network testing methods from a high-level security policy.


principles and practice of programming in java | 2013

Golo, a dynamic, light and efficient language for post-invokedynamic JVM

Julien Ponge; Frédéric Le Mouël; Nicolas Stouls

This paper introduces Golo, a simple dynamic programming language for the Java Virtual Machine (JVM) that has been designed to leverage the capabilities of the new Java 7 invokedynamic instruction and API (JSR 292). Golo has its own language constructs being designed with invokedynamic in mind, whereas existing dynamic languages for the JVM such as Groovy, JRuby or Nashorn have to adapt language constructions which are sometimes hard to optimize. Coupled with a minimal runtime that directly uses the Java SE API, Golo is an interesting language for rapid prototyping, polyglot application embedding, research (e.g., runtime extensions, language prototyping) and teaching (e.g., programming, dynamic language runtime implementation). We show that the language design around invokedynamic allows for a very concise runtime code base with performance figures that compare favorably against Java and other dynamic JVM languages. We also discuss its future directions, either as part of Golo or through language and runtime research extensions.


european conference on object oriented programming | 2015

Towards a Decoupled Context-Oriented Programming Language for the Internet of Things

Baptiste Maingret; Frédéric Le Mouël; Julien Ponge; Nicolas Stouls; Jian Cao; Yannick Loiseau

Easily programming behaviors is one major issue of a large and reconfigurable deployment in the Internet of Things. Such kind of devices often requires to externalize part of their behavior such as the sensing, the data aggregation or the code offloading. Most existing context-oriented programming languages integrate in the same class or close layers the whole behavior. We propose to abstract and separate the context tracking from the decision process, and to use event-based handlers to interconnect them. We keep a very easy declarative and non-layered programming model. We illustrate by defining an extension to Golo - a JVM-based dynamic language.


international conference on software engineering | 2014

When a Formal Model Rhymes with a Graphical Notation

Akram Idani; Nicolas Stouls

Formal methods are based on mathematical notations which allow to rigorously reason about a model and ensure its correctness by proofs and/or model-checking. Unfortunately, these notations are complex and often difficult to understand from a human point of view especially for engineers who are not familiar with formal methods. Several research works have proposed tools to support formal models using graphical views. On the one hand, such views are useful to make formal documents accessible to humans, and on the other hand they ease the verification of some behavioral properties. However, links between graphical and formal models proposed by these approaches are often difficult to put into practice and depend on the targeted formal language. In this paper, we discuss these links from a practical approach and show how a behavioral description can be computed from a formal model based on two complementary paradigms: under-approximation (or animation-based) and over-approximation (or proof-based). We applied these paradigms in order to produce behavioural state/chart views from B models and we carried out an empirical study to assess the quality and relevance of these graphical representations for humans.


tests and proofs | 2010

Syntactic abstraction of B models to generate tests

Jacques Julliand; Nicolas Stouls; Pierre-Christophe Bué; Pierre-Alain Masson

In a model-based testing approach as well as for the verification of properties, B models provide an interesting solution. However, for industrial applications, the size of their state space often makes them hard to handle. To reduce the amount of states, an abstraction function can be used, often combining state variable elimination and domain abstractions of the remaining variables. This paper complements previous results, based on domain abstraction for test generation, by adding a preliminary syntactic abstraction phase, based on variable elimination. We define a syntactic transformation that suppresses some variables from a B event model, in addition to a method that chooses relevant variables according to a test purpose. We propose two methods to compute an abstraction A of an initial model M. The first one computes A as a simulation of M, and the second one computes A as a bisimulation of M. The abstraction process produces a finite state system. We apply this abstraction computation to a Model Based Testing process.


collaborative computing | 2016

Spontaneous Proximity Clouds: Making Mobile Devices to Collaborate for Resource and Data Sharing

Roya Golchay; Frédéric Le Mouël; Julien Ponge; Nicolas Stouls

The base motivation of Mobile Cloud Computing was empowering mobile devices by application offloading onto powerful cloud resources. However, this goal can’t entirely be reached because of the high offloading cost imposed by the long physical distance between the mobile device and the cloud. To address this issue, we propose an application offloading onto a nearby mobile cloud composed of the mobile devices in the vicinity - a Spontaneous Proximity Cloud. We introduce our proposed dynamic, ant-inspired, bi-objective offloading middleware - ACOMMA, and explain its extension to perform a close mobile application offloading. With the learning-based offloading decision-making process of ACOMMA, combined to the collaborative resource sharing, the mobile devices can cooperate for decision cache sharing. We evaluate the performance of ACOMMA in collaborative mode with real benchmarks - Face Recognition and Monte-Carlo algorithms - and achieve 50% execution time gain.


arXiv: Distributed, Parallel, and Cluster Computing | 2016

Automated application offloading through ant-inspired decision-making

Roya Golchay; Frederic Le Mouelt; Julien Ponge; Nicolas Stouls

The explosive trend of smartphone usage as the most effective and convenient communication tools of human life in recent years make developers build ever more complex smartphone applications. Gaming, navigation, video editing, augmented reality, and speech recognition applications require considerable computational power and energy. Although smartphones have a wide range of capabilities - GPS, WiFi, cameras their inherent limitations - frequent disconnections, mobility - and significant constraints - size, lower weights, longer battery life make difficult to exploiting their full potential to run complex applications. Several research works have proposed solutions in application offloading domain, but few ones concerning the highly changing properties of the environment. To address these issues, we realize an automated application offloading middleware, ACOMMA, with dynamic and re-adaptable decision-making engine. The decision engine of ACOMMA is based on an ant-inspired algorithm.


abstract state machines alloy b and z | 2010

B model abstraction combining syntactic and semantic methods

Jacques Julliand; Nicolas Stouls; Pierre-Christophe Bué; Pierre-Alain Masson

In a model-based testing approach as well as for the verification of properties by model-checking, B models provide an interesting solution. But for industrial applications, the size of their state space often makes them hard to handle. To reduce the amount of states, an abstraction function can be used, often combining state variable elimination and domain abstractions of the remaining variables. This paper illustrates a computer aided abstraction process that combines syntactic and semantic abstraction functions. The first function syntactically transforms a B event system M into an abstract one A, and the second one transforms a B event system into a Symbolic Labelled Transition System (SLTS). The syntactic transformation suppresses some variables in M. This function is correct in the sense that A is refined by M. A process that combines the syntactic and semantic abstractions has been experimented. It significantly reduces the time cost of semantic abstraction computation. This abstraction process allows for verifying safety properties by model-checking or for generating abstract tests. These tests are generated by a coverage criteria such as all states or all transitions of an SLTS.


Software Quality Journal | 2013

B model slicing and predicate abstraction to generate tests

Jacques Julliand; Nicolas Stouls; Pierre-Christophe Bué; Pierre-Alain Masson

Collaboration


Dive into the Nicolas Stouls's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jacques Julliand

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Pierre-Alain Masson

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Roya Golchay

Institut national des sciences Appliquées de Lyon

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge