A calculus for reasoning about software composition

Franz Achermann, Oscar Nierstrasz
2005 Theoretical Computer Science  
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
more » ... onents, 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.
doi:10.1016/j.tcs.2004.09.022 fatcat:k52e3hrenzdttbene4zqqernje