首页 > 最新文献

Journal of Historic Buildings and Places最新文献

英文 中文
Typing Context-Dependent Behavioural Variation 情景依赖的行为变异
4区 历史学 0 ARCHAEOLOGY Pub Date : 2013-02-25 DOI: 10.4204/EPTCS.109.5
P. Degano, G. Ferrari, Letterio Galletta, Gianluca Mezzetti
Context Oriented Programming (COP) concerns the ability of programs to adapt to changes in their running environment. A number of programming languages endowed with COP constructs and features have been developed. However, some foundational issues remain unclear. This paper proposes adopting static analysis techniques to reason on and predict how programs adapt their behaviour. We introduce a core functional language, ContextML, equipped with COP primitives for manipulating contexts and for programming behavioural variations. In particular, we specify the dispatching mechanism, used to select the program fragments to be executed in the current active context. Besides the dynamic semantics we present an annotated type system. It guarantees that the well-typed programs adapt to any context, i.e. the dispatching mechanism always succeeds at run-time.
面向上下文编程(COP)关注的是程序适应其运行环境变化的能力。已经开发了许多具有COP结构和特性的编程语言。然而,一些基本问题仍不清楚。本文提出采用静态分析技术来推理和预测程序如何适应其行为。我们介绍了一种核心函数式语言ContextML,它配备了COP原语,用于操作上下文和编程行为变化。特别地,我们指定了调度机制,用于选择要在当前活动上下文中执行的程序片段。除了动态语义之外,我们还提出了一个带注释的类型系统。它保证了类型良好的程序适应任何上下文,即调度机制在运行时总是成功的。
{"title":"Typing Context-Dependent Behavioural Variation","authors":"P. Degano, G. Ferrari, Letterio Galletta, Gianluca Mezzetti","doi":"10.4204/EPTCS.109.5","DOIUrl":"https://doi.org/10.4204/EPTCS.109.5","url":null,"abstract":"Context Oriented Programming (COP) concerns the ability of programs to adapt to changes in their running environment. A number of programming languages endowed with COP constructs and features have been developed. However, some foundational issues remain unclear. This paper proposes adopting static analysis techniques to reason on and predict how programs adapt their behaviour. We introduce a core functional language, ContextML, equipped with COP primitives for manipulating contexts and for programming behavioural variations. In particular, we specify the dispatching mechanism, used to select the program fragments to be executed in the current active context. Besides the dynamic semantics we present an annotated type system. It guarantees that the well-typed programs adapt to any context, i.e. the dispatching mechanism always succeeds at run-time.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"38 11 1","pages":"28-33"},"PeriodicalIF":0.0,"publicationDate":"2013-02-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75862254","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
An event-based model for contracts 契约的基于事件的模型
4区 历史学 0 ARCHAEOLOGY Pub Date : 2013-02-25 DOI: 10.4204/EPTCS.109.3
Massimo Bartoletti, Tiziana Cimoli, G. Pinna, R. Zunino
We introduce a basic model for contracts. Our model extends event structures with a new relation, which faithfully captures the circular dependencies among contract clauses. We establish whether an agreement exists which respects all the contracts at hand (i.e. all the dependencies can be resolved), and we detect the obligations of each participant. The main technical contribution is a correspondence between our model and a fragment of the contract logic PCL. More precisely, we show that the reachable events are exactly those which correspond to provable atoms in the logic. Despite of this strong correspondence, our model improves previous work on PCL by exhibiting a finer-grained notion of culpability, which takes into account the legitimate orderings of events.
我们介绍了合同的基本模型。我们的模型用一个新的关系扩展了事件结构,该关系忠实地捕获了合同条款之间的循环依赖关系。我们确定是否存在一个尊重手头所有合同的协议(即所有依赖关系都可以解决),并且我们检测每个参与者的义务。主要的技术贡献是我们的模型和契约逻辑PCL片段之间的对应关系。更准确地说,我们证明了可达事件正是那些对应于逻辑中可证明原子的事件。尽管存在这种强烈的对应关系,我们的模型通过展示更细粒度的罪责概念来改进以前在PCL上的工作,该概念考虑了事件的合法顺序。
{"title":"An event-based model for contracts","authors":"Massimo Bartoletti, Tiziana Cimoli, G. Pinna, R. Zunino","doi":"10.4204/EPTCS.109.3","DOIUrl":"https://doi.org/10.4204/EPTCS.109.3","url":null,"abstract":"We introduce a basic model for contracts. Our model extends event structures with a new relation, which faithfully captures the circular dependencies among contract clauses. We establish whether an agreement exists which respects all the contracts at hand (i.e. all the dependencies can be resolved), and we detect the obligations of each participant. The main technical contribution is a correspondence between our model and a fragment of the contract logic PCL. More precisely, we show that the reachable events are exactly those which correspond to provable atoms in the logic. Despite of this strong correspondence, our model improves previous work on PCL by exhibiting a finer-grained notion of culpability, which takes into account the legitimate orderings of events.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"49 1","pages":"13-20"},"PeriodicalIF":0.0,"publicationDate":"2013-02-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81122760","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Variant-Frequency Semantics for Green Futures 绿色期货的变频语义
4区 历史学 0 ARCHAEOLOGY Pub Date : 2013-02-23 DOI: 10.4204/EPTCS.109.1
Yu David Liu
This paper describes an operational semantics for futures, with the primary target on energy efficiency. The work in progress is built around an insight that different threads can coordinate by running at different "paces," so that the time for synchronization and the resulting wasteful energy consumption can be reduced. We exploit several inherent characteristics of futures to determine how the paces of involving threads can be coordinated. The semantics is inspired by recent advances in computer architectures, where the frequencies of CPU cores can be adjusted dynamically. The work is a first-step toward a direction where variant frequencies are directly modeled as an essential semantic feature in concurrent programming languages.
本文描述了一个期货的操作语义,主要目标是能源效率。正在进行的工作是基于这样一种认识,即不同的线程可以通过以不同的“速度”运行来进行协调,从而减少同步的时间和由此产生的浪费的能源消耗。我们利用期货的几个固有特征来确定如何协调涉及线程的步伐。语义的灵感来自计算机体系结构的最新进展,其中CPU核心的频率可以动态调整。这项工作是朝着这样一个方向迈出的第一步:在并发编程语言中,可变频率直接建模为基本的语义特征。
{"title":"Variant-Frequency Semantics for Green Futures","authors":"Yu David Liu","doi":"10.4204/EPTCS.109.1","DOIUrl":"https://doi.org/10.4204/EPTCS.109.1","url":null,"abstract":"This paper describes an operational semantics for futures, with the primary target on energy efficiency. The work in progress is built around an insight that different threads can coordinate by running at different \"paces,\" so that the time for synchronization and the resulting wasteful energy consumption can be reduced. We exploit several inherent characteristics of futures to determine how the paces of involving threads can be coordinated. The semantics is inspired by recent advances in computer architectures, where the frequencies of CPU cores can be adjusted dynamically. The work is a first-step toward a direction where variant frequencies are directly modeled as an essential semantic feature in concurrent programming languages.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"30 1","pages":"1-6"},"PeriodicalIF":0.0,"publicationDate":"2013-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86715110","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Mapping the Join Calculus to Heterogeneous Hardware 将联接演算映射到异构硬件
4区 历史学 0 ARCHAEOLOGY Pub Date : 2013-02-23 DOI: 10.4204/EPTCS.109.2
Peter Calvert, A. Mycroft
As modern architectures introduce additional heterogeneity and parallelism, we look for ways to deal with this that do not involve specialising software to every platform. In this paper, we take the Join Calculus, an elegant model for concurrent computation, and show how it can be mapped to an architecture by a Cartesian-product-style construction, thereby making use of the calculus' inherent non-determinism to encode placement choices. This unifies the concepts of placement and scheduling into a single task.
随着现代架构引入了额外的异构性和并行性,我们正在寻找不涉及将软件专门用于每个平台的方法来处理这个问题。在本文中,我们采用了连接演算(Join Calculus),一个用于并发计算的优雅模型,并展示了如何通过笛卡尔积式构造将其映射到架构中,从而利用演算固有的非确定性来编码放置选择。这将放置和调度的概念统一到一个任务中。
{"title":"Mapping the Join Calculus to Heterogeneous Hardware","authors":"Peter Calvert, A. Mycroft","doi":"10.4204/EPTCS.109.2","DOIUrl":"https://doi.org/10.4204/EPTCS.109.2","url":null,"abstract":"As modern architectures introduce additional heterogeneity and parallelism, we look for ways to deal with this that do not involve specialising software to every platform. In this paper, we take the Join Calculus, an elegant model for concurrent computation, and show how it can be mapped to an architecture by a Cartesian-product-style construction, thereby making use of the calculus' inherent non-determinism to encode placement choices. This unifies the concepts of placement and scheduling into a single task.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"65 10","pages":"7-12"},"PeriodicalIF":0.0,"publicationDate":"2013-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72449178","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Merging Multiparty Protocols in Multiparty Choreographies 在多方编排中合并多方协议
4区 历史学 0 ARCHAEOLOGY Pub Date : 2013-02-23 DOI: 10.4204/EPTCS.109.4
Marco Carbone, F. Montesi
Choreography-based programming is a powerful paradigm for defining communication-based systems from a global viewpoint. A choreography can be checked against multiparty protocol specifications, given as behavioural types, that may be instantiated indefinitely at runtime. Each protocol instance is started with a synchronisation among the involved peers. We analyse a simple transformation from a choreography with a possibly unbounded number of protocol instantiations to a choreography instantiating a single protocol, which is the merge of the original ones. This gives an effective methodology for obtaining new protocols by composing existing ones. Moreover, by removing all synchronisations required for starting protocol instances, our transformation reduces the number of communications and resources needed to execute a choreography.
基于编排的编程是从全局角度定义基于通信的系统的强大范例。可以根据多方协议规范检查编排,这些规范作为行为类型给出,可能在运行时无限期地实例化。每个协议实例都以相关对等体之间的同步开始。我们分析了一个简单的转换,从具有可能无限数量的协议实例化的编排到实例化单个协议的编排,这是原始协议的合并。这为通过组合现有协议获得新协议提供了一种有效的方法。此外,通过删除启动协议实例所需的所有同步,我们的转换减少了执行编排所需的通信和资源的数量。
{"title":"Merging Multiparty Protocols in Multiparty Choreographies","authors":"Marco Carbone, F. Montesi","doi":"10.4204/EPTCS.109.4","DOIUrl":"https://doi.org/10.4204/EPTCS.109.4","url":null,"abstract":"Choreography-based programming is a powerful paradigm for defining communication-based systems from a global viewpoint. A choreography can be checked against multiparty protocol specifications, given as behavioural types, that may be instantiated indefinitely at runtime. Each protocol instance is started with a synchronisation among the involved peers. \u0000We analyse a simple transformation from a choreography with a possibly unbounded number of protocol instantiations to a choreography instantiating a single protocol, which is the merge of the original ones. This gives an effective methodology for obtaining new protocols by composing existing ones. Moreover, by removing all synchronisations required for starting protocol instances, our transformation reduces the number of communications and resources needed to execute a choreography.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"35 1","pages":"21-27"},"PeriodicalIF":0.0,"publicationDate":"2013-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88504737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Declarative Event-Based Workflow as Distributed Dynamic Condition Response Graphs 作为分布式动态条件响应图的声明式事件工作流
4区 历史学 0 ARCHAEOLOGY Pub Date : 2011-10-18 DOI: 10.4204/EPTCS.69.5
Thomas T. Hildebrandt, R. Mukkamala
We present Dynamic Condition Response Graphs (DCR Graphs) as a declarative, event-based process model inspired by the workflow language employed by our industrial partner and conservatively generalizing prime event structures. A dynamic condition response graph is a directed graph with nodes representing the events that can happen and arrows representing four relations between events: condition, response, include, and exclude. Distributed DCR Graphs is then obtained by assigning roles to events and principals. We give a graphical notation inspired by related work by van der Aalst et al. We exemplify the use of distributed DCR Graphs on a simple workflow taken from a field study at a Danish hospital, pointing out their flexibility compared to imperative workflow models. Finally we provide a mapping from DCR Graphs to Buchi-automata.
我们将动态条件响应图(DCR图)作为一种声明性的、基于事件的过程模型,其灵感来自于我们的工业合作伙伴使用的工作流语言,并保守地概括了主要事件结构。动态条件响应图是一个有向图,其中节点表示可能发生的事件,箭头表示事件之间的四种关系:条件、响应、包括和排除。然后通过为事件和主体分配角色来获得分布式DCR图。我们从van der Aalst等人的相关工作中得到启发,给出了一个图形符号。我们举例说明了分布式DCR图在丹麦一家医院的一个简单工作流上的使用,指出了它们与命令式工作流模型相比的灵活性。最后给出了从DCR图到布吉自动机的映射。
{"title":"Declarative Event-Based Workflow as Distributed Dynamic Condition Response Graphs","authors":"Thomas T. Hildebrandt, R. Mukkamala","doi":"10.4204/EPTCS.69.5","DOIUrl":"https://doi.org/10.4204/EPTCS.69.5","url":null,"abstract":"We present Dynamic Condition Response Graphs (DCR Graphs) as a declarative, event-based process model inspired by the workflow language employed by our industrial partner and conservatively generalizing prime event structures. A dynamic condition response graph is a directed graph with nodes representing the events that can happen and arrows representing four relations between events: condition, response, include, and exclude. Distributed DCR Graphs is then obtained by assigning roles to events and principals. We give a graphical notation inspired by related work by van der Aalst et al. We exemplify the use of distributed DCR Graphs on a simple workflow taken from a field study at a Danish hospital, pointing out their flexibility compared to imperative workflow models. Finally we provide a mapping from DCR Graphs to Buchi-automata.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"25 1","pages":"59-73"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74566725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 185
Secure Execution of Distributed Session Programs 分布式会话程序的安全执行
4区 历史学 0 ARCHAEOLOGY Pub Date : 2011-10-18 DOI: 10.4204/EPTCS.69.1
Nuno Alves, Raymond Hu, N. Yoshida, Pierre-Malo Deniélou
The development of the SJ Framework for session-based distributed programming is part of recent and ongoing research into integrating session types and practical, real-world programming languages. SJ programs featuring session types (protocols) are statically checked by the SJ compiler to verify the key property of communication safety, meaning that parties engaged in a session only communicate messages, including higher-order communications via session delegation, that are compatible with the message types expected by the recipient. This paper presents current work on security aspects of the SJ Framework. Firstly, we discuss our implementation experience from improving the SJ Runtime platform with security measures to protect and augment communication safety at runtime. We implement a transport component for secure session execution that uses a modified TLS connection with authentication based on the Secure Remote Password (SRP) protocol. The key technical point is the delicate treatment of secure session delegation to counter a previous vulnerability. We find that the modular design of the SJ Runtime, based on the notion of an Abstract Transport for session communication, supports rapid extension to utilise additional transports whilst separating this concern from the application-level session programming task. In the second part of this abstract, we formally prove the target security properties by modelling the extended SJ delegation protocols in the pi-calculus.
用于基于会话的分布式编程的SJ框架的开发是将会话类型与实际的、真实的编程语言集成在一起的最新和正在进行的研究的一部分。具有会话类型(协议)的SJ程序由SJ编译器静态检查,以验证通信安全的关键属性,这意味着参与会话的各方只通信与接收方期望的消息类型兼容的消息,包括通过会话委托进行的高阶通信。本文介绍了SJ框架安全方面的当前工作。首先,我们讨论了使用安全措施改进SJ运行时平台的实现经验,以保护和增强运行时的通信安全。我们实现了一个用于安全会话执行的传输组件,该组件使用基于安全远程密码(SRP)协议的经过修改的TLS连接进行身份验证。关键的技术点是对安全会话委托的微妙处理,以对抗先前的漏洞。我们发现SJ运行时的模块化设计,基于会话通信的抽象传输的概念,支持快速扩展以利用额外的传输,同时将此关注点从应用程序级会话编程任务中分离出来。在本文的第二部分,我们通过对扩展的SJ委托协议在pi-calculus中建模,形式化地证明了目标的安全性。
{"title":"Secure Execution of Distributed Session Programs","authors":"Nuno Alves, Raymond Hu, N. Yoshida, Pierre-Malo Deniélou","doi":"10.4204/EPTCS.69.1","DOIUrl":"https://doi.org/10.4204/EPTCS.69.1","url":null,"abstract":"The development of the SJ Framework for session-based distributed programming is part of recent and ongoing research into integrating session types and practical, real-world programming languages. SJ programs featuring session types (protocols) are statically checked by the SJ compiler to verify the key property of communication safety, meaning that parties engaged in a session only communicate messages, including higher-order communications via session delegation, that are compatible with the message types expected by the recipient. \u0000This paper presents current work on security aspects of the SJ Framework. Firstly, we discuss our implementation experience from improving the SJ Runtime platform with security measures to protect and augment communication safety at runtime. We implement a transport component for secure session execution that uses a modified TLS connection with authentication based on the Secure Remote Password (SRP) protocol. The key technical point is the delicate treatment of secure session delegation to counter a previous vulnerability. We find that the modular design of the SJ Runtime, based on the notion of an Abstract Transport for session communication, supports rapid extension to utilise additional transports whilst separating this concern from the application-level session programming task. In the second part of this abstract, we formally prove the target security properties by modelling the extended SJ delegation protocols in the pi-calculus.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"38 1","pages":"1-11"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77214393","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
A Type System for Unstructured Locking that Guarantees Deadlock Freedom without Imposing a Lock Ordering 一种用于非结构化锁定的类型系统,它保证了死锁自由而不强加锁顺序
4区 历史学 0 ARCHAEOLOGY Pub Date : 2011-10-18 DOI: 10.4204/EPTCS.69.4
Prodromos Gerakios, N. Papaspyrou, Konstantinos Sagonas
Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking primitives, and locks which are implicitly associated with references. The proposed type system does not impose a strict lock acquisition order and thus increases programming language expressiveness.
死锁发生在并发程序中,是线程之间循环获取资源的结果。在本文中,我们提出了一种新的类型系统,它保证了具有引用、非结构化锁原语和与引用隐式关联的锁的语言的死锁自由。所建议的类型系统没有强加严格的锁获取顺序,因此增加了编程语言的表达性。
{"title":"A Type System for Unstructured Locking that Guarantees Deadlock Freedom without Imposing a Lock Ordering","authors":"Prodromos Gerakios, N. Papaspyrou, Konstantinos Sagonas","doi":"10.4204/EPTCS.69.4","DOIUrl":"https://doi.org/10.4204/EPTCS.69.4","url":null,"abstract":"Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking primitives, and locks which are implicitly associated with references. The proposed type system does not impose a strict lock acquisition order and thus increases programming language expressiveness.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"66 6 1","pages":"44-58"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87755966","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Session Type Inference in Haskell Haskell中的会话类型推断
4区 历史学 0 ARCHAEOLOGY Pub Date : 2011-10-18 DOI: 10.4204/EPTCS.69.6
Keigo Imai, Shoji Yuen, K. Agusa
We present an inference system for a version of the Pi-calculus in Haskell for the session type proposed by Honda et al. The session type is very useful in checking if the communications are well-behaved. The full session type implementation in Haskell was first presented by Pucella and Tov, which is 'semi-automatic' in that the manual operations for the type representation was necessary. We give an automatic type inference for the session type by using a more abstract representation for the session type based on the 'de Bruijn levels'. We show an example of the session type inference for a simple SMTP client.
针对Honda等人提出的会话类型,我们在Haskell中提出了一个版本的pi演算推理系统。会话类型在检查通信是否行为良好时非常有用。Haskell中完整的会话类型实现最初是由Pucella和Tov提出的,它是“半自动的”,因为需要手动操作来表示类型。通过使用基于“de Bruijn级别”的更抽象的会话类型表示,我们给出了会话类型的自动类型推断。我们将展示一个简单SMTP客户端的会话类型推断示例。
{"title":"Session Type Inference in Haskell","authors":"Keigo Imai, Shoji Yuen, K. Agusa","doi":"10.4204/EPTCS.69.6","DOIUrl":"https://doi.org/10.4204/EPTCS.69.6","url":null,"abstract":"We present an inference system for a version of the Pi-calculus in Haskell for the session type proposed by Honda et al. The session type is very useful in checking if the communications are well-behaved. The full session type implementation in Haskell was first presented by Pucella and Tov, which is 'semi-automatic' in that the manual operations for the type representation was necessary. We give an automatic type inference for the session type by using a more abstract representation for the session type based on the 'de Bruijn levels'. We show an example of the session type inference for a simple SMTP client.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"112 1","pages":"74-91"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76568743","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 31
Channels as Objects in Concurrent Object-Oriented Programming 并发面向对象编程中的通道作为对象
4区 历史学 0 ARCHAEOLOGY Pub Date : 2011-10-18 DOI: 10.4204/EPTCS.69.2
Joana Campos, V. Vasconcelos
There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream object-oriented languages cannot provide for the verification of client code adherence against the sought class behaviour. We have defined a class-based concurrent object-oriented language that formalises such protocols in the form of usage types. Usage types are attached to class definitions, allowing for the specification of (1) the available methods, (2) the tests clients must perform on the result of methods, and (3) the object status - linear or shared - all of which depend on the object's state. Our work extends the recent approach on modular session types by eliminating channel operations, and defining the method call as the single communication primitive in both sequential and concurrent settings. In contrast to previous works, we define a single category for objects, instead of distinct categories for linear and for shared objects, and let linear objects evolve into shared ones. We introduce a standard sync qualifier to prevent thread interference in certain operations on shared objects. We formalise the language syntax, the operational semantics, and a type system that enforces by static typing that methods are called only when available, and by a single client if so specified in the usage type. We illustrate the language via a complete example.
每个类通常都有一种协议,说明何时以及如何调用某些方法。考虑到这个协议(如果有的话)是在类附带的文档中描述的,当前主流的面向对象语言不能提供针对所寻求的类行为的客户端代码遵从性的验证。我们已经定义了一种基于类的并发面向对象语言,它以使用类型的形式形式化了这些协议。使用类型附加到类定义中,允许规范(1)可用的方法,(2)客户端必须对方法的结果执行的测试,以及(3)对象状态(线性或共享),所有这些都取决于对象的状态。我们的工作扩展了模块化会话类型的最新方法,消除了通道操作,并将方法调用定义为顺序和并发设置中的单个通信原语。与以往的作品不同,我们将线性对象和共享对象定义为单一类别,而不是不同的类别,并让线性对象演变为共享对象。我们引入了一个标准的同步限定符,以防止线程对共享对象的某些操作产生干扰。我们将语言语法、操作语义和类型系统形式化,该系统通过静态类型强制方法仅在可用时调用,并且如果在使用类型中指定了单个客户端,则由单个客户端调用。我们通过一个完整的例子来说明这门语言。
{"title":"Channels as Objects in Concurrent Object-Oriented Programming","authors":"Joana Campos, V. Vasconcelos","doi":"10.4204/EPTCS.69.2","DOIUrl":"https://doi.org/10.4204/EPTCS.69.2","url":null,"abstract":"There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream object-oriented languages cannot provide for the verification of client code adherence against the sought class behaviour. We have defined a class-based concurrent object-oriented language that formalises such protocols in the form of usage types. Usage types are attached to class definitions, allowing for the specification of (1) the available methods, (2) the tests clients must perform on the result of methods, and (3) the object status - linear or shared - all of which depend on the object's state. Our work extends the recent approach on modular session types by eliminating channel operations, and defining the method call as the single communication primitive in both sequential and concurrent settings. In contrast to previous works, we define a single category for objects, instead of distinct categories for linear and for shared objects, and let linear objects evolve into shared ones. We introduce a standard sync qualifier to prevent thread interference in certain operations on shared objects. We formalise the language syntax, the operational semantics, and a type system that enforces by static typing that methods are called only when available, and by a single client if so specified in the usage type. We illustrate the language via a complete example.","PeriodicalId":53164,"journal":{"name":"Journal of Historic Buildings and Places","volume":"17 1","pages":"12-28"},"PeriodicalIF":0.0,"publicationDate":"2011-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88630659","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"历史学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
期刊
Journal of Historic Buildings and Places
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1