A kernel language for abstract data types and modules.
Proc. of the international symposium on Semantics of data types
Introduction to combinators and &lgr;-calculus
Introduction to combinators and &lgr;-calculus
Selected papers of the Second Workshop on Concurrency and compositionality
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial notes on partial evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A calculus of mobile processes, I
Information and Computation
Theoretical aspects of object-oriented programming
Information and Computation
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Programming python
Partial evaluation of call-by-value &lgr;-calculus with side-effects
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
The π-calculus in direct style
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal language for composition
Foundations of component-based systems
Pict: a programming language based on the Pi-Calculus
Proof, language, and interaction
Asynchronous process calculi: the first-and higher-order paradigms
Theoretical Computer Science - Special issues on models and paradigms for concurrency
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software Architectures and Component Technology
Software Architectures and Component Technology
PICCOLA---a small composition language
Formal methods for distributed processing
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
JMLC '00 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
An Object Calculus for Asynchronous Communication
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Type-Safe Prototype-Based Component Evolution
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
A Hierarchy of Equivalences for Asynchronous Calculi
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
On Asynchrony in Name-Passing Calculi
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Requirements for a Composition Language
ECOOP '94 Selected papers from the ECOOP'94 Workshop on Models and Languages for Coordination of Parallelism and Distribution, Object-Based Models and Languages for Concurrent Systems
Coordination through Channel Composition
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
Transactional Reduction of Component Compositions
FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Typing communicating component assemblages
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Control Encapsulation: A Calculus for Exogenous Composition of Software Components
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
An algebraic foundation for automatic feature-based program synthesis
Science of Computer Programming
On the revival of dynamic languages
SC'05 Proceedings of the 4th international conference on Software Composition
Towards a formal component model for the cloud
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Hi-index | 0.00 |
Although the term software component has become commonplace, there is no universally accepted definition of the term, nor does there exist a common foundation for specifying various kinds of components and their compositions. We propose such a foundation. The Piccola calculus is a process calculus, based on the asynchronous π-calculus, extended with explicit namespaces. The calculus is high level, rather than minimal, and is consequently convenient for expressing and reasoning about software components, and different styles of composition. We motivate and present the calculus, and outline how it is used to specify the semantics of Piccola, a small composition language. We demonstrate how the calculus can be used to simplify compositions by partial evaluation, and we briefly outline some other applications of the calculus to reasoning about compositional styles.