A calculus for reasoning about software composition

被引:12
|
作者
Achermann, F [1 ]
Nierstrasz, O [1 ]
机构
[1] Univ Bern, Software Composit Grp, CH-3012 Bern, Switzerland
关键词
software components; process calculi; software architecture;
D O I
10.1016/j.tcs.2004.09.022
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 pi-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. (C) 2004 Elsevier B.V. All rights reserved.
引用
收藏
页码:367 / 396
页数:30
相关论文
共 50 条
  • [31] Reasoning about the correctness of software development process
    Pons, C
    Baum, G
    ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 708 - 708
  • [32] Reasoning about software system design with SSM
    Kokol, P
    SYSTEMS FOR SUSTAINABILITY: PEOPLE, ORGANIZATIONS, AND ENVIRONMENTS, 1997, : 579 - 582
  • [33] Control Encapsulation: A Calculus for Exogenous Composition of Software Components
    Lau, Kung-Kiu
    Ornaghi, Mario
    COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, 5582 : 121 - +
  • [34] Reasoning about commitments in the event calculus: An approach for specifying and executing protocols
    Yolum, P
    Singh, MP
    ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE, 2004, 42 (1-3) : 227 - 253
  • [35] Reasoning about Petri Nets: A Calculus Based on Resolution and Dynamic Logic
    Lopes, Bruno
    Nalon, Claudia
    Haeusler, Edward Hermann
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2021, 22 (02)
  • [36] Quantitative Strongest Post A Calculus for Reasoning about the Flow of Quantitative Information
    Zhang, Linpeng
    Kaminski, Benjamin Lucien
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [37] Reasoning about Commitments in the Event Calculus: An Approach for Specifying and Executing Protocols
    Pınar Yolum
    Munindar P. Singh
    Annals of Mathematics and Artificial Intelligence, 2004, 42 : 227 - 253
  • [38] Calculus of Cooperation and Game-Based Reasoning about Protocol Privacy
    More, Sara Miner
    Naumov, Pavel
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2012, 13 (03)
  • [39] Reasoning about software architectures with contractually specified components
    Reussner, RH
    Poernomo, IH
    Schmidt, HW
    COMPONENT-BASED SOFTWARE QUALITY: METHODS AND TECHNIQUES, 2003, 2693 : 287 - 325
  • [40] REASONING ABOUT SOFTWARE SPECIFICATIONS - A CASE-STUDY
    WILD, C
    JI, C
    ECKHARDT, D
    AIAA COMPUTERS IN AEROSPACE VII CONFERENCE, PTS 1 AND 2: A COLLECTION OF PAPERS, 1989, : 1024 - 1033