187 Hits in 1.4 sec


Alceste Scalas, Nobuko Yoshida, Elias Benussi
2019 Proceedings of the Tenth ACM SIGPLAN Symposium on Scala - Scala '19  
Works [27] [28] [29] [30] implement session types in Scala. Effpi's types and session types are related, but have different design and capabilities (cf.  ...  For a survey, see [10] ; works on Scala [27] [28] [29] [30] • Proc is the abstract supertype of all types above (except Chan): it represents a program that may interact (or not).  ... 
doi:10.1145/3337932.3338812 dblp:conf/scala/ScalasYB19 fatcat:cu75zdq7ufdcxksnxgawcoprke

Lightweight Session Programming in Scala (Artifact) [article]

Alceste Scalas, Nobuko Yoshida, Tijs Van, Matthew Flatt
2016 Dagstuhl Artifacts Series (DARTS)  
In the paper "Lightweight Session Programming in Scala", we introduce a "lightweight" integration of session types in the Scala programming language, based on (1) a formal type-level encoding, and (2)  ...  11:2 Lightweight Session Programming in Scala (Artifact) username: osboxes password: After logging in, inside the directory~osboxes/artifact/, you will find the contents described in items  ... 
doi:10.4230/darts.2.1.11 dblp:journals/darts/ScalasY16 fatcat:awrnesfcgrefdmcvgz4cz2e7qi

Precise Subtyping for Asynchronous Multiparty Sessions [article]

Silvia Ghilezan, Jovanka Pantović, Ivan Prokić, Alceste Scalas, Nobuko Yoshida
2020 arXiv   pre-print
b 2 (). .T ctl[ref-B] Silvia Ghilezan, Jovanka Pantović, Ivan Prokić, Alceste Scalas, and Nobuko Yoshida .q!ℓ ′ (S ′′ ).p!ℓ (S 1 ).W 1 , 2020-10-28 01:28.  ...  (The idea and its motivation are explained in Section 3.1. ) We base our development on a recent advancement of the multiparty session types theory [Scalas and Yoshida 2019] : this way, we achieve not  ... 
arXiv:2010.13925v1 fatcat:pvaazx4evvh4llarxbsw7vmh7u

Honesty by Typing [chapter]

Massimo Bartoletti, Alceste Scalas, Emilio Tuosto, Roberto Zunino
2013 Lecture Notes in Computer Science  
We propose a type system for a calculus of contracting processes. Processes may stipulate contracts, and then either behave honestly, by keeping the promises made, or not. Type safety guarantees that a typeable process is honest -that is, the process abides by the contract it has stipulated in all possible contexts, even those containing dishonest adversaries.
doi:10.1007/978-3-642-38592-6_21 fatcat:zxmpd5bweje3pgpkm5qzr5eb7m

Choreographies in the wild

Massimo Bartoletti, Julien Lange, Alceste Scalas, Roberto Zunino
2015 Science of Computer Programming  
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
more » ... acts) enjoy progress and session fidelity.
doi:10.1016/j.scico.2014.11.015 fatcat:qgy4mgxf2jh53p7o444ovgrrem

A Semantic Deconstruction of Session Types [chapter]

Massimo Bartoletti, Alceste Scalas, Roberto Zunino
2014 Lecture Notes in Computer Science  
We investigate the semantic foundations of session types, by revisiting them in the abstract setting of labelled transition systems. The crucial insight is a simulation relation which generalises the usual syntax-directed notions of typing and subtyping, and encompasses both synchronous and asynchronous binary session types. This allows us to extend the session types theory to some common programming patterns which are not typically considered in the session types literature. * Work partially
more » ... * Work partially supported by: Aut. Reg. Sardinia (L.R.7/07 TRICS, P.I.A.
doi:10.1007/978-3-662-44584-6_28 fatcat:gzpfg2kwsrc3xjkfuybv572cra

The LTS WorkBench

Alceste Scalas, Massimo Bartoletti
2015 Electronic Proceedings in Theoretical Computer Science  
Note that ccs12(τ) and its return value have been slightly edited for clarity, and thus are not valid Scala code. 3 Indeed, such an operation is performed at the LTS level: if l is an LTS, then l.async  ... 
doi:10.4204/eptcs.189.8 fatcat:xtsl2hpdafbh5jzec7aplqv5zi

High-performance technical computing with erlang

Alceste Scalas, Giovanni Casu, Piero Pili
2008 Proceedings of the 7th ACM SIGPLAN workshop on ERLANG - ERLANG '08  
doi:10.1145/1411273.1411281 dblp:conf/erlang/ScalasCP08 fatcat:i6xmqvccmzd2rcksdkoxg6k5z4

Multiparty session types, beyond duality

Alceste Scalas, Nobuko Yoshida
2018 Journal of Logical and Algebraic Methods in Programming  
Encodability and implementations Scalas et al.  ...  [11] and Scalas et al. [33] (i.e., the most common formulation in MPST literature).  ... 
doi:10.1016/j.jlamp.2018.01.001 fatcat:w2e3mpd4gvhuhfovubhqx7efue

Towards a Hybrid Verification Methodology for Communication Protocols (Short Paper) [chapter]

Christian Bartolo Burlò, Adrian Francalanza, Alceste Scalas
2020 Lecture Notes in Computer Science  
We outline our theory, and illustrate a tool that automatically synthesises type-checked session monitors, based on the Scala language and its session programming library (lchannels).  ...  Background: Session Programming with lchannels lchannels [21, 24, 25] is a library implementation of session types in the Scala programming language.  ...  Hybrid Verification via Static and Dynamic Checking Srv C S login We now illustrate how our methodology is implemented, as a tool [7] targeting the Scala programming language.  ... 
doi:10.1007/978-3-030-50086-3_13 fatcat:xfaow2m4hvcpfelwoyevzaplsm

Modelling and Verifying Contract-Oriented Systems in Maude [chapter]

Massimo Bartoletti, Maurizio Murgia, Alceste Scalas, Roberto Zunino
2014 Lecture Notes in Computer Science  
We address the problem of modelling and verifying contract-oriented systems, wherein distributed agents may advertise and stipulate contracts, but -differently from most other approaches to distributed agents -are not assumed to always behave "honestly". We describe an executable specification in Maude of the semantics of CO2, a calculus for contract-oriented systems [5] . The honesty property [4] characterises those agents which always respect their contracts, in all possible execution
more » ... e execution contexts. Since there is an infinite number of such contexts, honesty cannot be directly verified by model-checking the state space of an agent (indeed, honesty is an undecidable property in general [4]). The main contribution of this paper is a sound verification technique for honesty. To do that, we safely over-approximate the honesty property by abstracting from the actual contexts a process may be engaged with. Then, we develop a model-checking technique for this abstraction, we describe an implementation in Maude, and we discuss some experiments with it.
doi:10.1007/978-3-319-12904-4_7 fatcat:5og6b5ba5jd3rjbjjjn7te26ia

Choreography Synthesis as Contract Agreement

Julien Lange, Alceste Scalas
2013 Electronic Proceedings in Theoretical Computer Science  
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
more » ... eps 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.
doi:10.4204/eptcs.131.6 fatcat:357cr3ozpjggpjsq2so7jpfdiy

Towards Probabilistic Session-Type Monitoring [chapter]

Christian Bartolo Burlò, Adrian Francalanza, Alceste Scalas, Catia Trubiani, Emilio Tuosto
2021 Lecture Notes in Computer Science  
Internally, the synthesised monitor mon uses the lchannels library [22] to represent the session type within Scala.  ...  The implementation is available at: The overall approach is depicted on the right: our tool synth generates a passive monitor mon (written in Scala) from  ... 
doi:10.1007/978-3-030-78142-2_7 fatcat:ov7gkqwt3fdgznwu7dpxq6npwe

Less is more: multiparty session types revisited

Alceste Scalas, Nobuko Yoshida
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
Γ ′ = s[p]:S p p∈I φ(Γ ′ ) s Γ Θ · Γ, Γ ′ ⊢ P Θ · Γ ⊢ (νs :Γ ′ ) P [ 30:14 Alceste Scalas and Nobuko Yoshida Example 4.5.  ...  Now, consider (8) again: the conclusion is wrong, but the intermediate 30:10 Alceste Scalas and Nobuko Yoshida Definition 3.2. The syntax of a global type G is: G p→q: {m i (S i ) .  ... 
doi:10.1145/3290343 fatcat:ickhsd2d7vdo5gyc5oe52ax3fm

Multiparty Session Types, Beyond Duality (Abstract)

Alceste Scalas, Nobuko Yoshida
2017 Electronic Proceedings in Theoretical Computer Science  
Multiparty Session Types (MPST) are a well-established typing discipline for message-passing processes interacting on sessions involving two or more participants. Session typing can ensure desirable properties: absence of communication errors and deadlocks, and protocol conformance. However, existing MPST works provide a subject reduction result that is arguably (and sometimes, surprisingly) restrictive: it only holds for typing contexts with strong duality constraints on the interactions
more » ... interactions between pairs of participants. Consequently, many "intuitively correct" examples cannot be typed and/or cannot be proved type-safe. We illustrate some of these examples, and discuss the reason for these limitations. Then, we outline a novel MPST typing system that removes these restrictions.
doi:10.4204/eptcs.246.7 fatcat:tz77hidpwbf55eckcjf7yjbm4a
« Previous Showing results 1 — 15 out of 187 results