Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Free
Faster access than browser!
 

Communicating sequential processes

Index Communicating sequential processes

In computer science, communicating sequential processes (CSP) is a formal language for describing patterns of interaction in concurrent systems. [1]

77 relations: Actor model, Ada (programming language), Algebraic semantics (computer science), Altran Praxis, B-Method, Bill Roscoe, Binary decision diagram, Calculus of communicating systems, Channel (programming), CiteSeerX, Clojure, Common Algebraic Specification Language, Communications of the ACM, Computer science, Concurrency (computer science), Crystal (programming language), DASA, Deadlock, Denotational semantics, Department of Computer Science, University of Oxford, DirectShow, DirectX, Divergence (computer science), Ease (programming language), FDR (software), Formal language, Formal specification, Functional programming, Go (programming language), History monoid, Input/output automaton, Institute of Electrical and Electronics Engineers, Interaction, Jim Davies (computer scientist), Journal of the ACM, Joyce (programming language), Language Of Temporal Ordering Specification, Lecture Notes in Computer Science, Limbo (programming language), Linear temporal logic, Macro (computer science), Message passing, Model checking, National University of Singapore, Needham–Schroeder protocol, Non-blocking algorithm, Nondeterministic algorithm, Object-Z, Occam (programming language), OpenComRTOS, ..., Operational semantics, Parallel programming model, Pattern, Per Brinch Hansen, Prentice Hall, Process calculus, RaftLib, Real-time operating system, Robin Milner, SuperPascal, Syntactic sugar, Syntax, System of systems, Tony Hoare, Trace monoid, Trace theory, Transition system, Transputer, Unbounded nondeterminism, Unifying Theories of Programming, University of Adelaide, University of Oxford, Verilog, VerilogCSP, Vienna Development Method, XC (programming language), Z notation. Expand index (27 more) »

Actor model

The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation.

New!!: Communicating sequential processes and Actor model · See more »

Ada (programming language)

Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.

New!!: Communicating sequential processes and Ada (programming language) · See more »

Algebraic semantics (computer science)

In computer science, algebraic semantics is a form of axiomatic semantics based on algebraic laws for describing and reasoning about program semantics in a formal manner.

New!!: Communicating sequential processes and Algebraic semantics (computer science) · See more »

Altran Praxis

Altran UK (formerly known as Altran Praxis, Praxis High Integrity Systems, Praxis Critical Systems, Altran Xype, Xype and Altran Technologies) is a division of parent company Altran.

New!!: Communicating sequential processes and Altran Praxis · See more »

B-Method

The B method is a method of software development based on B, a tool-supported formal method based on an abstract machine notation, used in the development of computer software.

New!!: Communicating sequential processes and B-Method · See more »

Bill Roscoe

Andrew William "Bill" Roscoe is a Scottish computer scientist.

New!!: Communicating sequential processes and Bill Roscoe · See more »

Binary decision diagram

In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function.

New!!: Communicating sequential processes and Binary decision diagram · See more »

Calculus of communicating systems

The calculus of communicating systems (CCS) is a process calculus introduced by Robin Milner around 1980 and the title of a book describing the calculus.

New!!: Communicating sequential processes and Calculus of communicating systems · See more »

Channel (programming)

In computing, a channel is a model for interprocess communication and synchronization via message passing.

New!!: Communicating sequential processes and Channel (programming) · See more »

CiteSeerX

x or CiteSeerX but DISPLAYTITLE only allows changing an initial letter to lower case --> CiteSeerx (originally called CiteSeer) is a public search engine and digital library for scientific and academic papers, primarily in the fields of computer and information science.

New!!: Communicating sequential processes and CiteSeerX · See more »

Clojure

Clojure (like "closure") is a dialect of the Lisp programming language.

New!!: Communicating sequential processes and Clojure · See more »

Common Algebraic Specification Language

The Common Algebraic Specification Language (CASL) is a general-purpose specification language based on first-order logic with induction.

New!!: Communicating sequential processes and Common Algebraic Specification Language · See more »

Communications of the ACM

Communications of the ACM is the monthly journal of the Association for Computing Machinery (ACM).

New!!: Communicating sequential processes and Communications of the ACM · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Communicating sequential processes and Computer science · See more »

Concurrency (computer science)

In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.

New!!: Communicating sequential processes and Concurrency (computer science) · See more »

Crystal (programming language)

Crystal is a general-purpose, object-oriented programming language, designed and developed by Ary Borenszweig and Juan Wajnerman and more than 200 contributors.

New!!: Communicating sequential processes and Crystal (programming language) · See more »

DASA

DASA (officially Deutsche Aerospace AG, later Daimler-Benz Aerospace AG, then DaimlerChrysler Aerospace AG), was the former aerospace subsidiary of Daimler-Benz AG (later DaimlerChrysler) from 1989. In July 2000, DASA merged with Aérospatiale-Matra and CASA to form EADS.

New!!: Communicating sequential processes and DASA · See more »

Deadlock

In concurrent computing, a deadlock is a state in which each member of a group is waiting for some other member to take action, such as sending a message or more commonly releasing a lock.

New!!: Communicating sequential processes and Deadlock · See more »

Denotational semantics

In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings of programming languages by constructing mathematical objects (called denotations) that describe the meanings of expressions from the languages.

New!!: Communicating sequential processes and Denotational semantics · See more »

Department of Computer Science, University of Oxford

The Department of Computer Science is the computer science department of the University of Oxford, England.

New!!: Communicating sequential processes and Department of Computer Science, University of Oxford · See more »

DirectShow

tags in this are generally true, just difficult to source due to the technical nature; don't remove unless 100% sure.

New!!: Communicating sequential processes and DirectShow · See more »

DirectX

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms.

New!!: Communicating sequential processes and DirectX · See more »

Divergence (computer science)

In computer science, a computation is said to diverge if it does not terminate or terminates in an (unobservable) exceptional state.

New!!: Communicating sequential processes and Divergence (computer science) · See more »

Ease (programming language)

Ease is a general purpose parallel programming language.

New!!: Communicating sequential processes and Ease (programming language) · See more »

FDR (software)

FDR (Failures-Divergences Refinement) and subsequently FDR2 are refinement checking software tools, designed to check formal models expressed in Communicating sequential processes (CSP).

New!!: Communicating sequential processes and FDR (software) · See more »

Formal language

In mathematics, computer science, and linguistics, a formal language is a set of strings of symbols together with a set of rules that are specific to it.

New!!: Communicating sequential processes and Formal language · See more »

Formal specification

In computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software.

New!!: Communicating sequential processes and Formal specification · See more »

Functional programming

In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.

New!!: Communicating sequential processes and Functional programming · See more »

Go (programming language)

Go (often referred to as Golang) is a programming language created at Google in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson.

New!!: Communicating sequential processes and Go (programming language) · See more »

History monoid

In mathematics and computer science, a history monoid is a way of representing the histories of concurrently running computer processes as a collection of strings, each string representing the individual history of a process.

New!!: Communicating sequential processes and History monoid · See more »

Input/output automaton

Input/output automata provide a formal model, applicable in describing most types of asynchronous concurrent system.

New!!: Communicating sequential processes and Input/output automaton · See more »

Institute of Electrical and Electronics Engineers

The Institute of Electrical and Electronics Engineers (IEEE) is a professional association with its corporate office in New York City and its operations center in Piscataway, New Jersey.

New!!: Communicating sequential processes and Institute of Electrical and Electronics Engineers · See more »

Interaction

Interaction is a kind of action that occur as two or more objects have an effect upon one another.

New!!: Communicating sequential processes and Interaction · See more »

Jim Davies (computer scientist)

Jim Davies is Professor of Software Engineering and current Director of the Software Engineering Programme at the University of Oxford, England.

New!!: Communicating sequential processes and Jim Davies (computer scientist) · See more »

Journal of the ACM

The Journal of the ACM is a peer-reviewed scientific journal covering computer science in general, especially theoretical aspects.

New!!: Communicating sequential processes and Journal of the ACM · See more »

Joyce (programming language)

Joyce is a secure, concurrent programming language designed by Per Brinch Hansen in the 1980s.

New!!: Communicating sequential processes and Joyce (programming language) · See more »

Language Of Temporal Ordering Specification

Language Of Temporal Ordering Specification (LOTOS) is a formal specification language based on temporal ordering of events.

New!!: Communicating sequential processes and Language Of Temporal Ordering Specification · See more »

Lecture Notes in Computer Science

Springer Lecture Notes in Computer Science (LNCS) is a series of computer science books published by Springer Science+Business Media (formerly Springer-Verlag) since 1973.

New!!: Communicating sequential processes and Lecture Notes in Computer Science · See more »

Limbo (programming language)

Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system.

New!!: Communicating sequential processes and Limbo (programming language) · See more »

Linear temporal logic

In logic, linear temporal logic or linear-time temporal logic (LTL) is a modal temporal logic with modalities referring to time.

New!!: Communicating sequential processes and Linear temporal logic · See more »

Macro (computer science)

A macro (short for "macroinstruction", from Greek μακρός 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure.

New!!: Communicating sequential processes and Macro (computer science) · See more »

Message passing

In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer.

New!!: Communicating sequential processes and Message passing · See more »

Model checking

In computer science, model checking or property checking refers to the following problem: Given a model of a system, exhaustively and automatically check whether this model meets a given specification.

New!!: Communicating sequential processes and Model checking · See more »

National University of Singapore

The National University of Singapore (NUS) is an autonomous research university in Singapore.

New!!: Communicating sequential processes and National University of Singapore · See more »

Needham–Schroeder protocol

The Needham–Schroeder protocol is one of the two key transport protocols intended for use over an insecure network, both proposed by Roger Needham and Michael Schroeder.

New!!: Communicating sequential processes and Needham–Schroeder protocol · See more »

Non-blocking algorithm

In computer science, an algorithm is called non-blocking if failure or suspension of any thread cannot cause failure or suspension of another thread; for some operations, these algorithms provide a useful alternative to traditional blocking implementations.

New!!: Communicating sequential processes and Non-blocking algorithm · See more »

Nondeterministic algorithm

In computer science, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.

New!!: Communicating sequential processes and Nondeterministic algorithm · See more »

Object-Z

Object-Z is an object-oriented extension to the Z notation developed at the University of Queensland, Australia.

New!!: Communicating sequential processes and Object-Z · See more »

Occam (programming language)

occam is a programming language which is concurrent and builds on the communicating sequential processes (CSP) process algebra, Inmos document 72 occ 45 03 and shares many of its features.

New!!: Communicating sequential processes and Occam (programming language) · See more »

OpenComRTOS

OpenComRTOS is a commercial network-centric, formally developed real-time operating system, aimed primarily at the embedded systems market.

New!!: Communicating sequential processes and OpenComRTOS · See more »

Operational semantics

Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its execution and procedures, rather than by attaching mathematical meanings to its terms (denotational semantics).

New!!: Communicating sequential processes and Operational semantics · See more »

Parallel programming model

In computing, a parallel programming model is an abstraction of parallel computer architecture, with which it is convenient to express algorithms and their composition in programs.

New!!: Communicating sequential processes and Parallel programming model · See more »

Pattern

A pattern is a discernible regularity in the world or in a manmade design.

New!!: Communicating sequential processes and Pattern · See more »

Per Brinch Hansen

Per Brinch Hansen (November 13, 1938 – July 31, 2007) was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing.

New!!: Communicating sequential processes and Per Brinch Hansen · See more »

Prentice Hall

Prentice Hall is a major educational publisher owned by Pearson plc.

New!!: Communicating sequential processes and Prentice Hall · See more »

Process calculus

In computer science, the process calculi (or process algebras) are a diverse family of related approaches for formally modelling concurrent systems.

New!!: Communicating sequential processes and Process calculus · See more »

RaftLib

RaftLib is a portable parallel processing system that aims to provide extreme performance while increasing programmer productivity.

New!!: Communicating sequential processes and RaftLib · See more »

Real-time operating system

A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time applications that process data as it comes in, typically without buffer delays.

New!!: Communicating sequential processes and Real-time operating system · See more »

Robin Milner

Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010), known as Robin Milner or A. J. R. G. Milner, was a British computer scientist, and a Turing Award winner.

New!!: Communicating sequential processes and Robin Milner · See more »

SuperPascal

Super Pascal is an imperative, concurrent computing programming language developed by Brinch Hansen.

New!!: Communicating sequential processes and SuperPascal · See more »

Syntactic sugar

In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.

New!!: Communicating sequential processes and Syntactic sugar · See more »

Syntax

In linguistics, syntax is the set of rules, principles, and processes that govern the structure of sentences in a given language, usually including word order.

New!!: Communicating sequential processes and Syntax · See more »

System of systems

System of systems is a collection of task-oriented or dedicated systems that pool their resources and capabilities together to create a new, more complex system which offers more functionality and performance than simply the sum of the constituent systems.

New!!: Communicating sequential processes and System of systems · See more »

Tony Hoare

Sir Charles Antony Richard Hoare (born 11 January 1934), is a British computer scientist.

New!!: Communicating sequential processes and Tony Hoare · See more »

Trace monoid

In computer science, a trace is a set of strings, wherein certain letters in the string are allowed to commute, but others are not.

New!!: Communicating sequential processes and Trace monoid · See more »

Trace theory

In mathematics and computer science, trace theory aims to provide a concrete mathematical underpinning for the study of concurrent computation and process calculi.

New!!: Communicating sequential processes and Trace theory · See more »

Transition system

In theoretical computer science, a transition system is a concept used in the study of computation.

New!!: Communicating sequential processes and Transition system · See more »

Transputer

The transputer is a series of pioneering microprocessors from the 1980s, featuring integrated memory and serial communication links, intended for parallel computing.

New!!: Communicating sequential processes and Transputer · See more »

Unbounded nondeterminism

In computer science, unbounded nondeterminism or unbounded indeterminacy is a property of concurrency by which the amount of delay in servicing a request can become unbounded as a result of arbitration of contention for shared resources while still guaranteeing that the request will eventually be serviced.

New!!: Communicating sequential processes and Unbounded nondeterminism · See more »

Unifying Theories of Programming

Unifying Theories of Programming (UTP) in computer science deals with program semantics.

New!!: Communicating sequential processes and Unifying Theories of Programming · See more »

University of Adelaide

The University of Adelaide (informally Adelaide University) is a public university located in Adelaide, South Australia.

New!!: Communicating sequential processes and University of Adelaide · See more »

University of Oxford

The University of Oxford (formally The Chancellor Masters and Scholars of the University of Oxford) is a collegiate research university located in Oxford, England.

New!!: Communicating sequential processes and University of Oxford · See more »

Verilog

Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems.

New!!: Communicating sequential processes and Verilog · See more »

VerilogCSP

In integrated circuit design, VerilogCSP is a set of macros added to Verilog HDL to support Communicating Sequential Processes (CSP) channel communications.

New!!: Communicating sequential processes and VerilogCSP · See more »

Vienna Development Method

The Vienna Development Method (VDM) is one of the longest-established formal methods for the development of computer-based systems.

New!!: Communicating sequential processes and Vienna Development Method · See more »

XC (programming language)

In computers, XC is a programming language for real-time embedded parallel processors, targeted at the XMOS XCore processor architecture.

New!!: Communicating sequential processes and XC (programming language) · See more »

Z notation

The Z notation is a formal specification language used for describing and modelling computing systems.

New!!: Communicating sequential processes and Z notation · See more »

Redirects here:

Communicating Sequential Processes, Cooperating sequential processes.

References

[1] https://en.wikipedia.org/wiki/Communicating_sequential_processes

OutgoingIncoming
Hey! We are on Facebook now! »