Communication and concurrency
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A calculus of higher order communicating systems
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The definition of Standard ML
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
A semantics for ML concurrency primitives
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-order concurrency
The Typed lambda-Calculus with First-Class Processes
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume II: Parallel Languages
From CML to Process Algebras (Extended Abstract)
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Analyzing the communication topology of concurrent programs
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Annotated type and effect systems
ACM Computing Surveys (CSUR)
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software architecture styles as graph grammars
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Strategic directions in concurrency research
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Programming languages, analysis tools, and concurrency theory
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Perspectives on program analysis
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Systematic realisation of control flow analyses for CML
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Partial-evaluation techniques for concurrent programs
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A partially deadlock-free typed process calculus
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Trace-Based Abstract Interpretation of Operational Semantics
Lisp and Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Control-Flow Analysis for a Calculus of Concurrent Objects
IEEE Transactions on Software Engineering
A generic type system for the Pi-calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types as models: model checking message-passing programs
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On regions and linear types (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Describing Software Architecture Styles Using Graph Grammars
IEEE Transactions on Software Engineering
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
Derivatives: A Construct for Internet Programming
ICCL'98 Workshop on Internet Programming Languages
Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel)
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
Modern Concurrency Abstractions for C#
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Automatic Determination of Communication Topologies in Mobile Systems
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
A Behavioral Module System for the Pi-Calculus
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Typing correspondence assertions for communication protocols
Theoretical Computer Science
Region analysis and a π-calculus with groups
Journal of Functional Programming
Type and behaviour reconstruction for higher-order concurrent programs
Journal of Functional Programming
A generic type system for the Pi-calculus
Theoretical Computer Science
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specialization of CML message-passing primitives
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types for Active Objects with Static Deadlock Prevention
Fundamenta Informaticae
Flow-sensitive type systems and the ambient calculus
Higher-Order and Symbolic Computation
Local policies for resource usage analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
ν -Types for Effects and Freshness Analysis
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Buffered communication analysis in distributed multiparty sessions
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Practical parameterised session types
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Detection of asynchronous message passing errors using static analysis
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Analysis of deadlocks in object groups
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Distributed call-tracking for security
Computer Languages, Systems and Structures
Types for coordinating secure behavioural variations
COORDINATION'12 Proceedings of the 14th international conference on Coordination Models and Languages
Types for Active Objects with Static Deadlock Prevention
Fundamenta Informaticae
The must preorder revisited: an algebraic theory for web services contracts
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Hi-index | 0.00 |
Concurrent ML (CML) is an extension of the functional language Standard ML(SML) with primitives for the dynamic creation of processes and channels and for the communication of values over channels. Because of the powerful abstraction mechanisms the communication topology of a given program may be very complex and therefore an efficient implementation may be facilitated by knowledge of the topology.This paper presents an analysis for determining when a bounded number of processes and channels will be generated. The analysis proceeds in two stages. First we extend a polymorphic type system for SML to deduce not only the type of CML programs but also their communication behaviour expressed as terms in a new process algebra. Next we develop an analysis that given the communication behaviour predicts the number of processes and channels required during the execution of the CML program. The correctness of the analysis is proved using a subject reduction property for the type system.