Home | Conferences | Links | Reference | About | Search |
|
BibTeX Proceedings detailsBibTex html text dump of PaperDB database. PaperDB is GPL Software, see: http://paperdb.sourceforge.net. @InProceedings{Sampson11a,title = "{T}his is a {P}arallel {P}arrot", author= "Sampson, Adam T.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", } @InProceedings{Cook11, title = "{P}arallel {U}sage {C}hecking - an {O}bservation", author= "Cook, Barry M.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "One of the great strengths of CSP based concurrent programming languages (such as occam) is the support provided to the programmer in avoiding the creation of erroneous programs. One such support \– \textlessi\textgreaterparallel usage checking\textless/i\textgreater \– detects program behaviours that may leave a variable in an unpredictable state. Current implementations of this check are safe but can lead to inefficient program implementations. In some cases, a simple program transformation can be used to demonstrate the safety of programs that would otherwise fail existing tests. By presenting a simple (but generic) example, I will show that using such a transformation allows the creation of more efficient programs." } @InProceedings{Vella11, title = "{E}xploring {P}eer-to-{P}eer {V}irtualized {M}ultithreaded {S}ervices", author= "Vella, Kevin", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", } @InProceedings{Ellis11, title = "{F}ormal {A}nalysis of {C}oncurrent {OS} ({RM}o{X}) {D}evice {D}rivers", author= "Ellis, Martin", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Many tools exists for writing safe and correct device drivers for conventional operating systems, from runtime driver management layers (that try to detect errors and recover from them) to static analysis systems like SLAM. Unfortunately, these tools do not map well to the concurrent drivers we write for RMoX. This presentation will look at how we can build safe and correct device drivers, using traditional occam analysis approaches (such as CSP) and tools (such as FDR). Experiments in generating formal models of hardware/driver interfaces from our occam implementations will be described, along with how we intend to use these models to prove correctness properties for our drivers." } @InProceedings{Barnes11, title = "{G}uppy", author= "Barnes, Frederick R. M.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", } @InProceedings{Sampson11b, title = "{D}istributing {C}oncurrent {S}imulation", author= "Sampson, Adam T.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", } @InProceedings{Wilterdink11, title = "{D}emonstration of the {LUNA} {F}ramework", author= "Wilterdink, Robert J.W. and Bezemer, Maarten M. and Broenink, Jan F.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "--", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "In this demonstration of the LUNA hard real-time, multi-threaded, CSP-capable execution framework, we use the JIWY-II pan-tilt camera robotic setup. The webcam can rotate horizontally and vertically, driven by two electromotors, controlled by software written as LUNA concurrent processes. The loop control algorithms are designed and generated by 20-sim, a tool for modeling and designing (controlled) mechatronic systems. This way, all code is generated, i.e. a model-driven approach. The demo will show that the LUNA library is capable of controlling setups in hard real-time, and that the implemented real-time logger provides valuable insight in the applications behaviour, i.e. control algorithms and LUNA framework." } @InProceedings{Lowe11, title = "{I}mplementing {G}eneralised {A}lt", author= "Lowe, Gavin", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "1--34", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "In this paper we describe the design and implementation of a generalised alt operator for the Communicating Scala Objects library. The alt operator provides a choice between communications on different channels. Our generalisation removes previous restrictions on the use of alts that prevented both ends of a channel from being used in an alt. The cost of the generalisation is a much more difficult implementation, but one that still gives very acceptable performance. In order to support the design, and greatly increase our confidence in its correctness, we build CSP models corresponding to our design, and use the FDR model checker to analyse them." } @InProceedings{FriborgVinter11, title = "{V}erification of a {D}ynamic {C}hannel {M}odel using the {SPIN} {M}odel-{C}hecker", author= "Friborg, Rune Møllegard and Vinter, Brian", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "35--54", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This paper presents the central elements of a new dynamic channel leading towards a flexible CSP design suited for high-level languages. This channel is separated into three models: a shared-memory channel, a distributed channel and a dynamic synchronisation layer. The models are described such that they may function as a basis for implementing a CSP library, though many of the common features known in available CSP libraries have been excluded from the models. The SPIN model checker has been used to check for the presence of deadlocks, livelocks, starvation, race conditions and correct channel communication behaviour. The three models are separately verified for a variety of different process configurations. This verification is performed automatically by doing an exhaustive verification of all possible transitions using SPIN. The joint result of the models is a single dynamic channel type which supports both local and distributed any-to-any communication. This model has not been verified and the large state-space may make it unsuited for exhaustive verification using a model checker. An implementation of the dynamic channel will be able to change the internal synchronisation mechanisms on-the-fly, depending on the number of channel-ends connected or their location." } @InProceedings{Skovhede11, title = "{P}rogramming the {CELL}-{BE} using {CSP}", author= "Skovhede, Kenneth and Larsen, Morten N. and Vinter, Brian", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "55--70", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "The current trend in processor design seems to focus on using multiple cores, similar to a cluster-on-a-chip model. These processors are generally fast and power efficient, but due to their highly parallel nature, they are notoriously difficult to program for most scientists. One such processor is the CELL broadband engine (CELL-BE) which is known for its high performance, but also for a complex programming model which makes it difficult to exploit the architecture to its full potential. To address this difficulty, this paper proposes to change the programming model to use the principles of CSP design, thus making it simpler to program the CELL-BE and avoid livelocks, deadlocks and race conditions. The CSP model described here comprises a thread library for the synergistic processing elements (SPEs) and a simple channel based communication interface. To examine the scalability of the implementation, experiments are performed with both scientific computational cores and synthetic workloads. The implemented CSP model has a simple API and is shown to scale well for problems with significant computational requirements." } @InProceedings{PedersenSowders11, title = "{S}tatic {S}coping and {N}ame {R}esolution for {M}obile {P}rocesses with {P}olymorphic {I}nterfaces", author= "Pedersen, Jan Bækgaard and Sowders, Matthew", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "71--85", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "In this paper we consider a refinement of the concept of mobile processes in a process oriented language. More specifically, we investigate the possibility of allowing resumption of suspended mobile processes with different interfaces. This is a refinement of the approach taken currently in languages like occam-\π. The goal of this research is to implement varying resumption interfaces in ProcessJ, a process oriented language being developed at UNLV." } @InProceedings{Warren11, title = "{P}rioritised {C}hoice over {M}ultiway {S}ynchronisation", author= "Warren, Douglas N.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "87--110", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Previous algorithms for resolving choice over multiway synchronisations have been incompatible with the notion of priority. This paper discusses some of the problems resulting from this limitation and offers a subtle expansion of the definition of priority to make choice meaningful when multiway events are involved. Presented in this paper is a prototype extension to the JCSP library that enables prioritised choice over multiway synchronisations and which is compatible with existing JCSP Guards. Also discussed are some of the practical applications for this algorithm as well as its comparative performance." } @InProceedings{Cole11, title = "{A} {C}omparison {O}f {D}ata-{P}arallel {P}rogramming {S}ystems {W}ith {A}ccelerator", author= "Cole, Alex and McEwan, Alistair A. and Singh, Satnam", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "111--130", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Data parallel programming provides an accessible model for exploiting the power of parallel computing elements without resorting to the explicit use of low level programming techniques based on locks, threads and monitors. The emergence of GPUs with hundreds or thousands of processing cores has made data parallel computing available to a wider class of programmers. GPUs can be used not only for accelerating the processing of computer graphics but also for general purpose data-parallel programming. Low level data-parallel programming languages based on the CUDA provide an approach for developing programs for GPUs but these languages require explicit creation and coordination of threads and careful data layout and movement. This has created a demand for higher level programming languages and libraries which raise the abstraction level of data-parallel programming and increase programmer productivity. The Accelerator system was developed by Microsoft for writing data parallel code in a high level manner which can execute on GPUs, multicore processors using SSE3 vector instructions and FPGA chips. This paper compares the performance and development effort of the high level Accelerator system against lower level systems which are more difficult to use but may yield better results. Specifically, we compare against the NVIDIA CUDA compiler and sequential C++ code considering both the level of abstraction in the implementation code and the execution models. We compare the performance of these systems using several case studies. For some classes of problems, Accelerator has a performance comparable to CUDA, but for others its performance is significantly reduced however in all cases it provides a model which is easier to use and allows for greater programmer productivity." } @InProceedings{Kerridge11, title = "{E}xperiments in {M}ulticore and {D}istributed {P}arallel {P}rocessing using {JCSP}", author= "Kerridge, Jon", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "131--142", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "It is currently very difficult to purchase any form of computer system be it, notebook, laptop, desktop server or high performance computing system that does not contain a multicore processor. Yet the designers of applications, in general, have very little experience and knowledge of how to exploit this capability. Recently, the Scottish Informatics and Computer Science Alliance (SICSA) issued a challenge to investigate the ability of developers to parallelise a simple Concordance algorithm. Ongoing work had also shown that the use of multicore processors for applications that have internal parallelism is not as straightforward as might be imagined. Two applications are considered: calculating pi using Monte Carlo methods and the SICSA Concordance application. The ease with which parallelism can be extracted from a single application using both single multicore processors and distributed networks of such multicore processors is investigated. It is shown that naive application of parallel programming techniques does not produce the desired results and that considerable care has to be taken if multicore systems are to result in improved performance. Meanwhile the use of distributed systems tends to produce more predictable and reasonable benefits resulting from parallelisation of applications." } @InProceedings{Kosek11, title = "{E}valuating {A}n {E}mergent {B}ehaviour {A}lgorithm for {E}nergy {C}onservation in {L}ighting {S}ystems {U}sing {JCSP}", author= "Kosek, Anna and Syed, Aly and Kerridge, Jon", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "143--156", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Since the invention of the light bulb, artificial light is accompanying people all around the world every day and night. As the light bulb itself evolved a lot through years, light control systems are still switch-based and require users to make most of the decisions about its behaviour. This paper presents an algorithm for emergent behaviour in a lighting system to achieve stable, user defined light level, while saving energy. The algorithm employs a parallel design and was tested using JCSP." } @InProceedings{Bezemer11, title = "{LUNA}: {H}ard {R}eal-{T}ime, {M}ulti-{T}hreaded, {CSP}-{C}apable {E}xecution {F}ramework", author= "Bezemer, Maarten M. and Wilterdink, Robert J.W. and Broenink, Jan F.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "157--175", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", 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." } @InProceedings{Jacobsen11, title = "{C}oncurrent {E}vent-driven {P}rogramming in occam-\π for the {A}rduino", author= "Jacobsen, Christian L. and Jadud, Matthew C. and Kilic, Omer and Sampson, Adam T.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "177--193", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "The success of the Arduino platform has made embedded programming widely accessible. The Arduino has seen many uses, for example in rapid prototyping, hobby projects, and in art installations. Arduino users are often not experienced embedded programmers however, and writing correct software for embedded devices can be challenging. This is especially true if the software needs to use interrupts in order to interface with attached devices. Insight and careful discipline are required to avoid introducing race hazards when using interrupt routines. Instead of programming the Arduino in C or C++ as is the custom, we propose using occam-\π as a language as that can help the user manage the concurrency introduced when using interrupts and help in the creation of modular, well-designed programs. This paper will introduce the Arduino, the software that enables us to run occam-\π on it, and a case study of an environmental sensor used in an Environmental Science course." } @InProceedings{HanlonHollis11, title = "{F}ast {D}istributed {P}rocess {C}reation with the {XMOS} {XS}1 {A}rchitecture", author= "Hanlon, James and Hollis, Simon J.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "195--207", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", 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." } @InProceedings{Whitehead11, title = "{S}erving {W}eb {C}ontent with {D}ynamic {P}rocess {N}etworks in {G}o", author= "Whitehead, James", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "209--226", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This paper introduces webpipes, a compositional web server toolkit written using the Go programming language as part of an investigation of concurrent software architectures. This toolkit utilizes an architecture where multiple functional components respond to requests, rather than the traditional monolithic web server model. We provide a classification of web server components and a set of type definitions based on these insights that make it easier for programmers to create new purpose-built components for their systems. The abstractions provided by our toolkit allow servers to be deployed using several concurrency strategies. We examine the overhead of such a framework, and discuss possible enhancements that may help to reduce this overhead." } @InProceedings{Chalmers11, title = "{P}erformance of the {D}istributed {CPA} {P}rotocol and {A}rchitecture on {T}raditional {N}etworks", author= "Chalmers, Kevin", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "227--242", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Performance of communication mechanisms is very important in distributed systems frameworks, especially when the aim is to provide a particular type of behavior across a network. In this paper, performance measurements of the distributed Communicating Process Architectures networking protocol and stack is presented. The results presented show that for general communication, the distributed CPA architecture is close to the baseline network performance, although when dealing with parallel speedup for the Mandelbrot set, little performance is gained. A discussion into the future direction of the distributed CPA architecture and protocol in relation to occam-\π and other runtimes is also presented." } @InProceedings{Ritson11, title = "{O}bject {S}tore {B}ased {S}imulation {I}nterworking", author= "Ritson, Carl G. and Andrews, Paul S. and Sampson, Adam T.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "243--253", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "The CoSMoS project is building generic modelling tools and simulation techniques for complex systems. As part of this project a number of simulations have been developed in many programming languages. This paper describes a framework for interconnecting simulation components written in different programming languages. These simulation components are synchronised and coupled using a shared object space. This approach allows us to combine highly concurrent agent-based simulations written in occam-\π, with visualisation and analysis components written in flexible scripting languages such as Python and domain specific languages such as MATLAB." } @InProceedings{Huntbach11, title = "{A} {M}odel for {C}oncurrency {U}sing {S}ingle-{W}riter {S}ingle-{A}ssignment {V}ariables", author= "Huntbach, Matthew", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "255--272", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This is a description of a model for concurrent computation based on single-writer single-assignment variables. The description is primarily graphical, resembling the interaction nets formalism. The model embodies rules in a process which may require two or more communications from other processes to respond. However, these are managed by a partial evaluation response on receiving a single communication." } @InProceedings{KorsgaardHendseth11, title = "{T}he {C}omputation {T}ime {P}rocess {M}odel", author= "Korsgaard, Martin and Hendseth, Sverre", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "273--286", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "In traditional real-time multiprocessor schedulability analysis it is required that all tasks are entirely serial. This implies that if a task is written in a parallel language such as occam, all parallelism in the task must be suppressed to enable schedulability analysis. Part of the reason for this restriction is the difficulty in analysing execution times of programs with a complex parallel structure. In this paper we introduce an abstract model for reasoning about the temporal properties of such programs. Within this model, we define what it means for a process to be easier to schedule than another, and the notion of upper bounds on execution times. Counterintuitive temporal behaviour is demonstrated to be inherent in all systems where processes are allowed an arbitrary parallel structure. For example, there exist processes that are guaranteed to complete on some schedule, that may not complete if executing less than the expected amount of computation. Not all processes exhibit such counterintuitive behaviour, and we identify a subset of processes that are well-behaved in this respect. The results from this paper is a necessary prerequisite for a complete schedulability analysis of systems with an arbitrary parallel structure." } @InProceedings{SaifhashemiBeerel11, title = "{S}ystem{V}erilog{CSP}: {M}odeling {D}igital {A}synchronous {C}ircuits {U}sing {S}ystem{V}erilog {I}nterfaces", author= "Saifhashemi, Arash and Beerel, Peter A.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "287--302", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This paper describes how to model channel-based digital asynchronous circuits using SystemVerilog interfaces that implement CSP-like communication events. The interfaces enable explicit handshaking of channel wires as well as abstract CSP events. This enables abstract connections between modules that are described at different levels of abstraction facilitating both verification and design. We explain how to model one-to-one, one-to-many, one-to-any, any-to-one, and synchronized channels. Moreover, we describe how to split communication actions into multiple parts to more accurately model less concurrent handshaking protocols that are commonly found in many asynchronous pipelines." } @InProceedings{Posso11, title = "{P}rocess-{O}riented {S}ubsumption {A}rchitectures in {S}warm {R}obotic {S}ystems", author= "Posso, Jeremy C. and Sampson, Adam T. and Simpson, Jonathan and Timmis, Jon", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "303--316", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "Previous work has demonstrated the feasibility of using process-oriented programming to implement simple subsumption architectures for robot control. However, the utility and scalability of process-based subsumption architectures for more complex tasks and those involving multiple robots has not been proven. We report our experience of applying these techniques to the implementation of a standard foraging problem in swarm robotics, using occam-\π to implement a subsumption control system. Through building a system with a realistic level of complexity, we have discovered both advantages and disadvantages to the process-oriented subsumption approach for larger robot control systems." } @InProceedings{SlipperMcEwan11, title = "{A} {S}ystems {R}e-engineering {C}ase {S}tudy: {P}rogramming {R}obots with occam and {H}andel-{C}", author= "Slipper, Dan and McEwan, Alistair A.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "317--327", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This paper introduces a case study exploring some of the legacy issues that may be faced when redeveloping a system. The case study is a robotics system programmed in occam and Handel-C, allowing us to draw comparisons between software and hardware implementations in terms of program architecture, ease of program code verification, and differences in the behaviour of the robot. The two languages used have been selected because of their model of concurrency and their relation to CSP. The case study contributes evidence that re-implementing a system from an abstract model may present implementation specific issues despite maintaining the same underlying program control structure. The paper identifies these problems and suggests a number of steps that could be taken to help mitigate some of the issues." } @InProceedings{Armstrong11, title = "{T}he {F}lying {G}ator: {T}owards {A}erial {R}obotics in occam-\π", author= "Armstrong, Ian and Pirrone-Brusse, Michael and Smith, A and Jadud, Matthew C.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "329--340", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "The Flying Gator is an unmanned aerial vehicle developed to support investigations regarding concurrent and parallel control for robotic and embedded systems. During ten weeks in the summer of 2010, we designed, built, and tested an airframe, control electronics, and a concurrent firmware capable of sustaining autonomous level flight. Ultimately, we hope to have a robust, open source control system capable of supporting interesting research questions exploring concurrency in real time systems as well as current issues in sustainable agriculture." } @InProceedings{Isobe11, title = "{CONPASU}-tool: {A} {C}oncurrent {P}rocess {A}nalysis {S}upport {T}ool based on {S}ymbolic {C}omputation", author= "Isobe, Yoshinao", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "341--362", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This paper presents an analysis-method of concurrent processes with value-passing which may cause infinite-state systems. The method consists of two steps: sequentialisation and state-reduction. In the sequentialisation, the symbolic transition graph of a given concurrent process is derived by symbolic operational semantics. In the state-reduction, the number of states in the symbolic transition graph is reduced by removing needless internal transitions. Furthermore, this paper introduces an analysis-tool called CONPASU, which implements the analysis-method, and demonstrates how CONPASU can be used for automatically analyzing concurrent processes. For example, it can extract abstract behaviors, which are useful for understanding complex behaviors, by focusing on some interesting events." } @InProceedings{Yamakawa11, title = "{D}evelopment of an {ML} based {V}erification {T}ool for {T}imed {CSP} {P}rocesses", author= "Yamakawa, Takeshi and Ohashi, Tsuneki and Fukunaga, Chikara", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "363--375", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "We report the development of a verification tool for Timed CSP processes. The tool has been built on the functional programming language ML. The tool interprets processes described in both timed and untimed CSP, converting them to ML functions, and executing those functions for the verification of refinement in the timed traces and timewise traces models. Using the programmability of higher order functionality, the description of CSP processes with ML has been synthesised naturally. The effectiveness of the tool is demonstrated with an example analysing implementations of Fischer's algorithm for the exclusive control of a shared resource in a multi-processor environment." } @InProceedings{BonniciWelch11, title = "{M}obile {P}rocesses and {C}all {C}hannels with {V}ariant {I}nterfaces (a {D}uality)", author= "Bonnici, Eric and Welch, Peter H.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "377--377", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "The current model of mobile processes in occam-\π implements a \textlessem\textgreatersingle\textless/em\textgreater interface for host processes to use. However, different hosts holding different kinds of resource will naturally require different interfaces to interact with their visitors. So, current occam-\π mobiles have to offer a single union of all the interfaces needed and hosts must provide dummy arguments for those irrelevant to its particular calls. This opens the possibilty of programming errors in both hosts and mobile should those dummies mistakenly be used. This talk considers a revised model for mobile processes that allows \textlessem\textgreatermany\textless/em\textgreater interfaces. The talk also proposes a concept of \textlessem\textgreatervariant call channels\textless/em\textgreater, that expands on a mechanism proposed for the occam3 language, and shows a simple duality between the revised mobile processes and mobile variant call channels. An implementation of mobile variant call channels, via source-code transformation to standard occam-\π mobile channel bundles, has been devised \– which gives an implementation route for the revised mobile process model and an operational semantics. If time, the ideas will be illustrated with a case study based on the Santa Claus problem, where the elves and reindeer are mobile processes." } @InProceedings{Welch11, title = "{A}dding {F}ormal {V}erification to occam-\π", author= "Welch, Peter H. and Pedersen, Jan Bækgaard and Barnes, Frederick R. M. and Ritson, Carl G. and Brown, Neil C.C.", editor= "Welch, Peter H. and Sampson, Adam T. and Pedersen, Jan Bækgaard and Kerridge, Jon and Broenink, Jan F. and Barnes, Frederick R. M.", pages = "379--379", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2011", isbn= "978-1-60750-773-4", year= "2011", month= "jun", abstract= "This is a proposal for the formal verification of occam-\π programs to be managed entirely within occam-\π. The language is extended with qualifiers on types and processes (to indicate relevance for verification and/or execution) and assertions about refinement (including deadlock, livelock and determinism). The compiler abstracts a set of CSPm equations and assertions, delegates their analysis to the FDR2 model checker and reports back in terms related to the occam-\π source. The rules for mapping the extended occam-\π to CSPm are given. The full range of CSPm assertions is accessible, with no knowledge of CSP formalism required by the occam-\π programmer. Programs are proved just by \textlessem\textgreaterwriting\textless/em\textgreater and \textlessem\textgreatercompiling\textless/em\textgreater programs. A case-study analysing a new (and elegant) solution to the \textlessem\textgreaterDining Philosophers\textless/em\textgreater problem is presented. Deadlock-freedom for colleges with \textlessem\textgreaterany\textless/em\textgreater number of philosphers is established by verifying an induction argument (the base and induction steps). Finally, following guidelines laid down by Roscoe, the careful use of \textlessem\textgreatermodel compression\textless/em\textgreater is demonstrated to verify directly the deadlock-freedom of an occam-\π college with 10\^{}2000 philosphers (in around 30 seconds). All we need is a universe large enough to contain the computer on which to run it." } |
If you have any comments on this database, including inaccuracies, requests to remove or add information, or suggestions for improvement, the WoTUG web team are happy to hear of them. We will do our best to resolve problems to everyone's satisfaction.
Copyright for the papers presented in this database normally resides with the authors; please contact them directly for more information. Addresses are normally presented in the full paper.
Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to:
www at wotug.org