Communicating Process Architectures Conference最新文献

筛选
英文 中文
LUNA: Hard Real-Time, Multi-Threaded, CSP-Capable Execution Framework LUNA:硬实时,多线程,csp能力的执行框架
Communicating Process Architectures Conference Pub Date : 2011-06-01 DOI: 10.3233/978-1-60750-774-1-157
M. Bezemer, R. Wilterdink, J. Broenink
{"title":"LUNA: Hard Real-Time, Multi-Threaded, CSP-Capable Execution Framework","authors":"M. Bezemer, R. Wilterdink, J. Broenink","doi":"10.3233/978-1-60750-774-1-157","DOIUrl":"https://doi.org/10.3233/978-1-60750-774-1-157","url":null,"abstract":"Modern embedded systems have multiple cores available. The CTC++ library is not able to make use of these cores, so a new framework is required to control the robotic setups in our lab. This paper first looks into the available frameworks and compares them to the requirements for controlling the setups. It concludes that none of the available frameworks meet the requirements, so a new framework is developed, called LUNA. The LUNA architecture is component based, resulting in a modular structure. The core components take care of the platform related issues. For each supported platform, these components have a different implementation, effectively providing a platform abstraction layer. High-level components take care of platform-independent tasks, using the core components. Execution engine components implement the algorithms taking care of the execution flow, like a CSP implementation. The paper describes some interesting architectural challenges encountered during the LUNA development and their solutions. It concludes with a comparison between LUNA, C++CSP2 and CTC++. LUNA is shown to be more efficient than CTC++ and C++CSP2 with respect to switching between threads. Also, running a benchmark using CSP constructs, shows that LUNA is more efficient compared to the other two. Furthermore, LUNA is also capable of controlling actual robotic setups with good timing properties.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"437 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134249683","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Fast Distributed Process Creation with the XMOS XS1 Architecture 使用XMOS XS1架构快速创建分布式进程
Communicating Process Architectures Conference Pub Date : 2011-05-19 DOI: 10.3233/978-1-60750-774-1-195
James W. Hanlon, S. Hollis
{"title":"Fast Distributed Process Creation with the XMOS XS1 Architecture","authors":"James W. Hanlon, S. Hollis","doi":"10.3233/978-1-60750-774-1-195","DOIUrl":"https://doi.org/10.3233/978-1-60750-774-1-195","url":null,"abstract":"The provision of mechanisms for processor allocation in current distributed parallel programming models is very limited. This makes difficult, or even prohibits, the expression of a large class of programs which require a run-time assessment of their required resources. This includes programs whose structure is irregular, composite or unbounded. Efficient allocation of processors requires a process creation mechanism able to initiate and terminate remote computations quickly. This paper presents the design, demonstration and analysis of an explicit mechanism to do this, implemented on the XMOS XS1 architecture, as a foundation for a more dynamic scheme. It shows that process creation can be made efficient so that it incurs only a fractional overhead of the total runtime and that it can be combined naturally with recursion to enable rapid distribution of computations over a system.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"62 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131793320","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
HW/SW Design Space Exploration on the Production Cell Setup 生产单元设置的硬件/软件设计空间探索
Communicating Process Architectures Conference Pub Date : 2009-11-01 DOI: 10.3233/978-1-60750-065-0-387
Marcel A. Groothuis, J. Broenink
{"title":"HW/SW Design Space Exploration on the Production Cell Setup","authors":"Marcel A. Groothuis, J. Broenink","doi":"10.3233/978-1-60750-065-0-387","DOIUrl":"https://doi.org/10.3233/978-1-60750-065-0-387","url":null,"abstract":"This paper describes and compares five CSP based and two CSP related process-oriented motion control system implementations that are made for our Production Cell demonstration setup. Five implementations are software-based and two are FPGA hardware-based. All implementations were originally made with different purposes and investigating different areas of the design space for embedded control software resulting in an interesting comparison between approaches, tools and software and hardware implementations. Common for all implementations is the usage of a model-driven design method, a communicating process structure, the combination of discrete event and continuous time and that real-time behaviour is essential. This paper shows that many small decisions made during the design of all these embedded control software implementations influence our route through the design space for the same setup, resulting in seven different solutions with different key properties. None of the implementations is perfect, but they give us valuable information for future improvements of our design methods and tools.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114980325","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Relating and Visualising CSP, VCR and Structural Traces 关联和可视化CSP, VCR和结构轨迹
Communicating Process Architectures Conference Pub Date : 2009-11-01 DOI: 10.3233/978-1-60750-065-0-89
Neil C. C. Brown, Marc L. Smith
{"title":"Relating and Visualising CSP, VCR and Structural Traces","authors":"Neil C. C. Brown, Marc L. Smith","doi":"10.3233/978-1-60750-065-0-89","DOIUrl":"https://doi.org/10.3233/978-1-60750-065-0-89","url":null,"abstract":"As well as being a useful tool for formal reasoning, a trace can provide insight into a concurrent program's behaviour, especially for the purposes of run-time analysis and debugging. Long-running programs tend to produce large traces which can be difficult to comprehend and visualise. We examine the relationship between three types of traces (CSP, VCR and Structural), establish an ordering and describe methods for conversion between the trace types. Structural traces preserve the struc- ture of composition and reveal the repetition of individual processes, and are thus well-suited to visualisation. We introduce the Starving Philosophers to motivate the value of Structural traces for reasoning about behaviour not easily predicted from a program's specification. A remaining challenge is to integrate Structural traces into a more formal setting, such as the Unifying Theories of Programming - however, Struc- tural traces do provide a useful framework for analysing large systems.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122364212","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
A Denotational Study of Mobility 流动性的外延研究
Communicating Process Architectures Conference Pub Date : 2009-11-01 DOI: 10.3233/978-1-60750-065-0-239
Joël-Alexis Bialkiewicz, F. Peschanski
{"title":"A Denotational Study of Mobility","authors":"Joël-Alexis Bialkiewicz, F. Peschanski","doi":"10.3233/978-1-60750-065-0-239","DOIUrl":"https://doi.org/10.3233/978-1-60750-065-0-239","url":null,"abstract":"This paper introduces a denotational model and refinement theory for a process algebra with mobile channels. Similarly to CSP, process behaviours are recorded as trace sets. To account for branching-time semantics, the traces are decorated by structured locations that are also used to encode the dynamics of channel mobility in a denotational way. We present an original notion of split-equivalence based on elementary trace transformations. It is first characterised coinductively using the notion of split-relation. Building on the principle of trace normalisation, a more denotational characterisation is also proposed. We then exhibit a preorder underlying this equivalence and motivate its use as a proper refinement operator. At the language level, we show refinement to be tightly related to a construct of delayed sums, a generalisation of non-deterministic choices.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131249703","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Analysing gCSP Models Using Runtime and Model Analysis Algorithms 使用运行时和模型分析算法分析gCSP模型
Communicating Process Architectures Conference Pub Date : 2009-11-01 DOI: 10.3233/978-1-60750-065-0-67
M. Bezemer, Marcel A. Groothuis, J. Broenink
{"title":"Analysing gCSP Models Using Runtime and Model Analysis Algorithms","authors":"M. Bezemer, Marcel A. Groothuis, J. Broenink","doi":"10.3233/978-1-60750-065-0-67","DOIUrl":"https://doi.org/10.3233/978-1-60750-065-0-67","url":null,"abstract":"Nowadays the amount of embedded systems is getting bigger and bigger. The systems themselves also become more complex. To aid developers of embedded systems a formal language called Communicating Sequential Processes (CSP) was designed. At the Control Engineering (CE) group a graphical tool called gCSP is developed to create CSP \u0000models. This tool allows for code generation. The generated code can be compiled with the Communicating Threads (CT) library into an executable. Users of gCSP tend to create a separate process for each task. From the model point of view this is excellent, but from a software point of \u0000view this consumes too many resources. First of all a new gCSP file format is created, such that an algorithm is able to read model information without too much effort. Next algorithms are designed and implemented, which perform \u0000analysis on models using different techniques. \u0000This assignment results into two analysis tools, which are able to perform an analysis of gCSP \u0000models. The first tool is a runtime analyser and uses the compiled executable to get information of \u0000the order in which the processes are running. The second tool is a model analyser which directly \u0000analyses a gCSP model. It creates a dependency graph and will try to group processes which are \u0000related to each other, resulting in a schedule for multi-core target systems. For single-core target \u0000systems the results can be used to recreate the model with a few bigger processes. \u0000Both tools are tested to see whether they both are functional and usable. Functional tests are \u0000executed using a simple model to be able to manually check the analysis results with the expected \u0000outcome. The usability tests perform tests using a series of models and interpret the outcome of \u0000the analysers. \u0000From these tests it is concluded that both tools are complementing each other and are suitable for \u0000analysing gCSP models in order to be able to create optimised models. The main recommendations \u0000are to implement the automatic creation of a new gCSP model using the results of the analysers \u0000and to improve the set of rules of both analysers even more to get better results.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134264651","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Mobile Escape Analysis for occam-pi occam-pi的移动逃逸分析
Communicating Process Architectures Conference Pub Date : 2009-11-01 DOI: 10.3233/978-1-60750-065-0-117
F. Barnes
{"title":"Mobile Escape Analysis for occam-pi","authors":"F. Barnes","doi":"10.3233/978-1-60750-065-0-117","DOIUrl":"https://doi.org/10.3233/978-1-60750-065-0-117","url":null,"abstract":"Escape analysis is the process of discovering boundaries of dynamically al- located objects in programming languages. For object-orientedlanguages such as C++ and Java, this analysis leads to an understanding of which program objects interact directly, as well as what objects hold references to other ob jects. Such information can be used to help verify the correctness of an implementation with respect to its design, or provide information to a run-time system about which objects can be allocated on the stack (because they do not 'escape' the method in which th ey are declared). For existing object-oriented languages, this analysis is typi cally made difficult by aliasing endemic to the language, and is further complicated by inheritance and polymorphism. In contrast, the occam-π programming language is a process-orientedlanguage, with systems built from layered networks of communicating concurrent processes. The lan- guage has a strong relationship with the CSP process algebra, that can be used to reason formally about the correctness of occam-π programs. This paper presents early work on a compositional escape analysis technique for mobiles in the occam-π programming language, in a style not dissimilar to existing CSP analyses. The primary aim is to discover the boundaries of mobiles within the communication graph, and to determine whether or not they escape any particular pro- cess or network of processes. The technique is demonstrated by analysing some typ- ical occam-π processes and networks, giving a formal understanding of their mobile escape behaviour.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130377766","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
A CSP Model for Mobile Channels 移动信道的CSP模型
Communicating Process Architectures Conference Pub Date : 2008-09-01 DOI: 10.3233/978-1-58603-907-3-17
P. Welch, F. Barnes
{"title":"A CSP Model for Mobile Channels","authors":"P. Welch, F. Barnes","doi":"10.3233/978-1-58603-907-3-17","DOIUrl":"https://doi.org/10.3233/978-1-58603-907-3-17","url":null,"abstract":"CSP processes have a static view of their environment - a fixed set of events through which they synchronise with each other. In contrast, the π-calculus is based on the dynamic construction of events (channels) and their distribution over pre-existing channels. In this way, process networks can be constructed dynamically with processes acquiring new connectivity. For the construction of complex systems, such as Internet trading and the modeling of living organisms, such capabilities have an obvious attraction. The occam-π multiprocessing language is built upon classical occam, whose design and semantics are founded on CSP. To address the dynamics of complex systems, occam-π extensions enable the movement of channels (and multiway synchronisation barriers) through channels, with constraints in line with previous occam discipline for safe and efficient programming. This paper reconciles these extensions by building a formal (operational) semantics for mobile channels entirely within CSP. These semantics provide two benefits: formal analysis of occam-π systems using mobile channels and formal specification of implementation mechanisms for mobiles used by the occam-π compiler and run-time kernel.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"107 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132528127","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 23
Santa Claus - with Mobile Reindeer and Elves 圣诞老人-与移动驯鹿和精灵
Communicating Process Architectures Conference Pub Date : 2008-09-01 DOI: 10.3233/978-1-58603-907-3-455
P. Welch, J. Pedersen
{"title":"Santa Claus - with Mobile Reindeer and Elves","authors":"P. Welch, J. Pedersen","doi":"10.3233/978-1-58603-907-3-455","DOIUrl":"https://doi.org/10.3233/978-1-58603-907-3-455","url":null,"abstract":"Mobile processes, along with mobile channels, enable process networks to be dynamic: they may change their size (number of processes, channels, barriers) and shape (connection topology) as they run much like living organisms. One of the benefits is that all connections do not have to be established statically, in advance of when they are needed and open to abuse. In classical occam, care had to be taken by processes not to use channels when they were not in the right state to use them. With occam-pi mobiles, we can arrange that processes simply do not have those channels until they get into the right state - and not having such channels means that their misuse cannot even be expressed! Of course, it is a natural consequence of mobile system design that the arrivals of channels (or barriers or processes) are the very events triggering their exploitation. In our explorations so far with occam-pi, we have taken advantage of the mobility of data, channels and barriers and seen very good results. Very little work has been done with mobile processes: the ability to send and receive processes through channels, plug them into local networks, fire them up, stand them down and move them on again. This talk illustrates mobile process design through a solution to Trono's classical em Santa Claus Problem. The reindeer and elves are modeled as mobile processes that move through holiday resorts, stables, work, waiting rooms, Santa's Grotto and back again. All those destinations are also processes - though static ones. As the reindeer and elves arrive at each stage, they plug in and do business. We will show the occam-pi mechanisms supporting mobile processes, confess to one weakness and consider remedies. The occam-pi solution did, of course, run correctly the first time it passed the stringent safety checks of the compiler and is available as open source (http://www.santaclausproblem.net).","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124465792","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Process-Oriented Collective Operations 面向过程的集体操作
Communicating Process Architectures Conference Pub Date : 2008-09-01 DOI: 10.3233/978-1-58603-907-3-309
J. Bjørndalen, Adam T. Sampson
{"title":"Process-Oriented Collective Operations","authors":"J. Bjørndalen, Adam T. Sampson","doi":"10.3233/978-1-58603-907-3-309","DOIUrl":"https://doi.org/10.3233/978-1-58603-907-3-309","url":null,"abstract":"Distributing process-oriented programs across a cluster of machines re- quires careful attention to the effects of network latency. The MPI standard, widely used for cluster computation, defines a number of collective operations: efficient, reusable algorithms for performing operations among a group of machines in the clus- ter. In this paper, we describe our techniques for implementing MPI communication patterns in process-oriented languages, and how we have used them to implement collective operations in PyCSP and occam- on top of an asynchronous messaging framework. We show how to make use of collective operations in distributed process- oriented applications. We also show how the process-oriented model can be used to increase concurrency in existing collective operation algorithms.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132250589","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信