Network


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

Hotspot


Dive into the research topics where Julien Lange is active.

Publication


Featured researches published by Julien Lange.


symposium on principles of programming languages | 2015

From Communicating Machines to Graphical Choreographies

Julien Lange; Emilio Tuosto; Nobuko Yoshida

Graphical choreographies, or global graphs, are general multiparty session specifications featuring expressive constructs such as forking, merging, and joining for representing application-level protocols. Global graphs can be directly translated into modelling notations such as BPMN and UML. This paper presents an algorithm whereby a global graph can be constructed from asynchronous interactions represented by communicating finite-state machines (CFSMs). Our results include: a sound and complete characterisation of a subset of safe CFSMs from which global graphs can be constructed; an algorithm to translate CFSMs to global graphs; a time complexity analysis; and an implementation of our theory, as well as an experimental evaluation.


international conference on concurrency theory | 2012

Synthesising choreographies from local session types

Julien Lange; Emilio Tuosto

Designing and analysing multiparty distributed interactions can be achieved either by means of a global view (e.g. in choreography-based approaches) or by composing available computational entities (e.g. in service orchestration). This paper proposes a typing systems which allows, under some conditions, to synthesise a choreography (i.e. a multiparty global type) from a set of local session types which describe end-point behaviours (i.e. local types).


international conference on concurrency theory | 2015

Meeting Deadlines Together

Laura Bocchi; Julien Lange; Nobuko Yoshida

This paper studies safety, progress, and non-zeno properties of Communicating Timed Automata (CTAs), which are timed automata (TA) extended with unbounded communication channels, and presents a procedure to build timed global specifications from systems of CTAs. We define safety and progress properties for CTAs by extending properties studied in communicating finite-state machines to the timed setting. We then study non-zenoness for CTAs; our aim is to prevent scenarios in which the participants have to execute an infinite number of actions in a finite amount of time. We propose sound and decidable conditions for these properties, and demonstrate the practicality of our approach with an implementation and experimental evaluations of our theory.


Science of Computer Programming | 2015

Choreographies in the wild

Massimo Bartoletti; Julien Lange; Alceste Scalas; Roberto Zunino

We investigate the use of choreographies in distributed scenarios where, as in the real world, mutually distrusting (and possibly dishonest) participants may be unfaithful to their expected behaviour. In our model, each participant advertises its promised behaviour as a contract. Participants may interact through multiparty sessions, created when their contracts allow to synthesise a choreography. We show that systems of honest participants (which always adhere to their contracts) enjoy progress and session fidelity.


arXiv: Logic in Computer Science | 2013

Choreography Synthesis as Contract Agreement

Julien Lange; Alceste Scalas

We propose a formal model for distributed systems, where each participant advertises its requirements and obligations as behavioural contracts, and where multiparty sessions are started when a set of contracts allows to synthesise a choreography. Our framework is based on the CO2 calculus for contract-oriented computing, and borrows concepts and results from the session type literature. It supports sessions where the number of participants is not determined beforehand, and keeps CO2’s ability to rule out participants that are culpable if contracts are not fulfilled at runtime. We show that we have progress and session fidelity in CO2, as a result of the honesty of participants — i.e., their ability to always adhere to their contracts.


symposium on principles of programming languages | 2017

Fencing off go: liveness and safety for channel-based programming

Julien Lange; Nicholas Ng; Bernardo Toninho; Nobuko Yoshida

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact through communication more so than by lock-based shared memory concurrency. Go can only detect global deadlocks at runtime, but provides no compile-time protection against all too common communication mismatches or partial deadlocks. This work develops a static verification framework for bounded liveness and safety in Go programs, able to detect communication errors and partial deadlocks in a general class of realistic concurrent programs, including those with dynamic channel creation and infinite recursion. Our approach infers from a Go program a faithful representation of its communication patterns as a behavioural type. By checking a syntactic restriction on channel usage, dubbed fencing, we ensure that programs are made up of finitely many different communication patterns that may be repeated infinitely many times. This restriction allows us to implement bounded verification procedures (akin to bounded model checking) to check for liveness and safety in types which in turn approximates liveness and safety in Go programs. We have implemented a type inference and liveness and safety checks in a tool-chain and tested it against publicly available Go programs. Updated on 27th Feb 2017. See Comments.


workshops on enabling technologies infrastracture for collaborative enterprises | 2008

Secure P2P Programming on Top of Tuple Spaces

Fabrizio Benigni; Antonio Brogi; Jean-Louis Buchholz; Jean-Marie Jacquet; Julien Lange; Razvan Popescu

A new programming model for secure (embedded) peer-to-peer systems has been recently proposed in the context of the European project SMEPP. In this paper we present the design and implementation of such a model on top of tuple spaces. More precisely, we show how the SMEPP service-oriented interaction primitives can be effectively implemented using SecureLime.


Scopus | 2012

Three algorithms and a methodology for amending contracts for choreographies

Laura Bocchi; Julien Lange; Emilio Tuosto

Distributed interactions are crucial design aspects to consider in modern applications. They can be suitably designed in terms of choreographies, that are global descriptions of the coordination of several distributed parties. Global assertions define contracts for choreographies by annotating multiparty session types with logical formulae to validate the content of the exchanged messages. The introduction of such constraints is a critical design issue as it may be hard to specify contracts that allow each party to be able to progress without violating the contract. We propose three algorithms to correct inconsistent global assertions. The methods are compared by discussing their applicability and the relationships between the amended global assertions and the original (inconsistent) ones. Also, we specify a methodology that exploits our algorithms to help designers to amend their choreographies. To show how the methodology can be applied we consider a simple scenario.


foundations of software science and computation structure | 2017

On the Undecidability of Asynchronous Session Subtyping

Julien Lange; Nobuko Yoshida

Asynchronous session subtyping has been studied extensively ini?ź[9, 10, 28---31] and applied ini?ź[23, 32, 33, 35]. An open question was whether this subtyping relation is decidable. This paper settles the question in the negative. To prove this result, we first introduce a new sub-class of two-party communicating finite-state machines CFSMs, called asynchronous duplex ADs, which we show to be Turing complete. Secondly, we give a compatibility relation over CFSMs, which is sound and complete wrt. safety for ADs, and is equivalent to the asynchronous subtyping. Then we show that the halting problem reduces to checking whether two CFSMs are in the relation. In addition, we show the compatibility relation to be decidable for three sub-classes of ADs.


ICE | 2011

Amending Contracts for Choreographies

Laura Bocchi; Julien Lange; Emilio Tuosto

Distributed interactions can be suitably designed in terms of choreographies. Such abstractions can be thought of as global descriptions of the coordination of several distributed parties. Global assertions define contracts for choreographies by annotating multiparty session types with logical formulae to validate the content of the exchanged messages. The introduction of such constraints is a critical design issue as it may be hard to specify contracts that allow each party to be able to progress without violating the contract. In this paper, we propose three methods that automatically correct inconsistent global assertions. The methods are compared by discussing their applicability and the relationships between the amended global assertions and the original (inconsistent) ones.

Collaboration


Dive into the Julien Lange's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Laura Bocchi

University of Leicester

View shared research outputs
Top Co-Authors

Avatar

Nicholas Ng

Imperial College London

View shared research outputs
Top Co-Authors

Avatar

Bernardo Toninho

Universidade Nova de Lisboa

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge