Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/337180.337358acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

An inheritance-based technique for building simulation proofs incrementally

Published: 01 June 2000 Publication History

Abstract

This paper presents a technique for incrementally constructing safety specifications, abstract algorithm descriptions, and simulation proofs showing that algorithms meet their specifications.
The technique for building specifications (and algorithms) allows a child specification (or algorithm) to inherit from its parent by two forms of incremental modification: (a) interface extension, where new forms of interaction are added to the parent's interface, and (b) specialization (subtyping), where new data, restrictions, and effects are added to the parent's behavior description. The combination of interface extension and specialization constitutes a powerful and expressive incremental modification mechanism for describing changes that do not override the behavior of the parent, although it may introduce new behavior.
Consider the case when incremental modification is applied to both a parent specification S and a parent algorithm A. A proof that the child algorithm A′ implements the child specification S′ can be built incrementally upon simulation proof that algorithm A implements specification S. The new work required involves reasoning about the modifications, but does not require repetition of the reasoning in the original simulation proof.
The paper presents the technique mathematically, in terms of automata. The technique has already been used to model and validate a full-fledged group communication system (see [26]); the methodology and results of that experiment are summarized in this paper.

References

[1]
M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag, 1996.]]
[2]
M. Abadi and L. Lamport. The existence of re nement mappings. Theoretical Computer Science, 82(2):253{ 284, May 1991.]]
[3]
ACM. Commun. ACM 39(4), special issue on Group Communications Systems, April 1996.]]
[4]
E. Anceaume, B. Charron-Bost, P. Minet, and S. Toueg. On the formal speci cation of group membership services. Comp. Sci. TR 95-1534, Cornell Univ., Aug. 1995.]]
[5]
T. Anker, D. Dolev, and I. Keidar. Fault tolerant videoon-demand services. 19th Intern. Conference on Distr. Computing Systems (ICDCS), pp. 244{252, June 1999.]]
[6]
M. Bickford and J. Hickey. An object-oriented approach to verifying group communication systems. http://www.cs.cornell.edu/jyh/papers/cav99 ooioa/.]]
[7]
K. Birman, R. Friedman, M. Hayden, and I. Rhee. Middleware support for distributed multimedia and collaborative computing. Multimedia Computing and Networking (MMCN98), 1998.]]
[8]
T. Budd. An Introduction to Object-Oriented Programming, 2nd Edition. Addison Wesley Longman, 1996.]]
[9]
G. V. Chockler. An Adaptive Totally Ordered Multicast Protocol that Tolerates Partitions. Master's thesis, Institute of Computer Science, The Hebrew University of Jerusalem, Jerusalem, Israel, 1997.]]
[10]
W. Cook and J. Palsberg. A denotational semantics of inheritance and its correctness. Information and Computation, 114(2):329{350, 1994. Also OOPSLA'89.]]
[11]
R. De Prisco, A. Fekete, N. Lynch, and A. Shvartsman. A dynamic view-oriented group communication service. 17th ACM Symposium on Principles of Distributed Computing (PODC), pp. 227{236, June 1998.]]
[12]
R. De Prisco, A. Fekete, N. Lynch, and A. Shvartsman. A dynamic primary configuration group communication service. 13th International Symposium on DIStributed Computing (DISC), pp. 64{78, 1999.]]
[13]
W. P. deRoever and K. Engelhardt. Data Refinement Model-Oriented Proof Methods and their Comparison. Cambridge University Press, Dec. 1998.]]
[14]
A. Fekete, D. Gupta, V. Luchangco, N. Lynch, and A. Shvartsman. Eventually-serializable data services. Theoretical Computer Science, special issue on Distributed Algorithms, 220, 1999.]]
[15]
A. Fekete, N. Lynch, and A. Shvartsman. Specifying and using a partionable group communication service. 16th ACM Symposium on Principles of Distributed Computing (PODC), pp. 53{62, August 1997.]]
[16]
R. Friedman and A. Vaysburg. Fast replicated state machines over partitionable networks. 16th IEEE Intern. Symp. on Reliable Distrib. Systems, October 1997.]]
[17]
S. J. Garland and N. A. Lynch. Foundations of Component Based Systems, chapter Using I/O Automata for Developing Distributed Systems. Cambridge University Press, USA, 1999. To appear.]]
[18]
S. J. Garland, N. A. Lynch, and M. Vaziri. IOA: A Language for Specifying, Programming and Validating Distributed Systems. MIT LCS, Dec. 1997. http://sds.lcs.mit.edu/~garland/ioaLanguage.html.]]
[19]
M. Hayden and R. van Renesse. Optimizing Layered Communication Protocols. TR96-1613, Dept. of Computer Science, Cornell University, November 1996.]]
[20]
M. P. Heimdahl and C. L. Heitmeyer. Formal methods for developing high assurance computer systems: Working group report. Second IEEE Workshop on Industrial- Strength Formal Techniques, Oct. 1998.]]
[21]
C. Heitmeyer and N. Lynch. The generalized railroad crossing: A case study in formal verification of realtime systems. Real Time Systems Symposium, Dec. 1994. Full version: MR-7619, Naval Research Laboratory.]]
[22]
C. L. Heitmeyer. On the need for 'practical' formal methods. Formal Techniques in Real-Time Fault- Tolerant Systems. 5th Intern. Symposium, pp. 18{26, Sept. 1998. LNCS 1486 (invited paper).]]
[23]
A. V. Hense. Wrapper semantics of an objectoriented programming language with state. T. Ito and A. R. Meyer, editors, Proceedings of Theoretical Aspects of Computer Software, pp. 548{568. LNCS 526, 1991.]]
[24]
J. Hickey, N. Lynch, and R. van Renesse. Specifications and proofs for ensemble layers. 5th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS, Mar. 1999.]]
[25]
S. Kamin. Inheritance in Smalltalk{80: A denotational definition. 15th Symp. on Principles of Programming Languages, pp. 80{87, 1988.]]
[26]
I. Keidar and R. Khazan. A client-server approach to virtually synchronous group multicast: Specifications, algorithms and proofs. TR 794, MIT Lab. for Comp. Science, Nov. 1999. To appear in ICDCS 2000. http://theory.lcs.mit.edu/~idish/Abstracts/vs.html.]]
[27]
I. Keidar, J. Sussman, K. Marzullo, and D. Dolev. A Client-Server Oriented Algorithm for Virtually Synchronous Group Membership in WANs. TR CS99-623, Comp. Sci., Univ. of California, San Diego, June 1999.]]
[28]
R. Khazan, A. Fekete, and N. Lynch. Multicast group communication as a base for a load-balancing replicated data service. 12th International Symposium on DIS- tributed Computing (DISC), pp. 258{272, Sept. 1998.]]
[29]
B. Lampson. Generalizing Abstraction Functions. MIT, Laboratory for Computer Science, Principles of Computer Systems, Handout 8, 1997. ftp://theory.lcs.mit .edu/pub/classes/6.826/www/6.826-top.html.]]
[30]
N. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, 1996.]]
[31]
N. Lynch and A. Shvartsman. Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. 27th IEEE Fault-Tolerant Computing Symposium (FTCS), pp. 272{281, 1997.]]
[32]
N. Lynch and M. Tuttle. An introduction to Input/Output Automata. CWI Quart., 2(3):219{246, '89.]]
[33]
U. S. Reddy. Objects as closures: Abstract semantics of object-oriented languages. Proc. of ACM Conference on Lisp and Functional Programming, pp. 289{297, 1988.]]
[34]
I. Shnaiderman. Implementation of Reliable Datagram Service in the LAN environment. Lab project, The Hebrew University of Jerusalem, January 1999. http://www.cs.huji.ac.il/~transis/publications.html.]]
[35]
A. P. Sistla. Proving correctness with respect to nondeterministic safety specifications. Information Processing Letters, 39(1):45{49, July 1991.]]
[36]
R. Stata and J. V. Guttag. Modular reasoning in the presence of subclassing. 10th Conf. on Object-Oriented Progrgamming Systems, Lang., and Appl. (OOPSLA), vol. 30 of ACM SIGPLAN, pp. 200{214, Oct. 1995.]]
[37]
R. Vitenberg, I. Keidar, G. V. Chockler, and D. Dolev. Group Communication Specifications: A Comprehensive Study. TR CS99-31, Institute of Comp. Science, The Hebrew University of Jerusalem, Israel, Sept. 1999.]]
[38]
D. Yates, N. Lynch, V. Luchangco, and M. Seltzer. I/O automaton model of operating system primitives. Master's thesis, Harvard University and MIT, May 1999.]]

Cited By

View all
  • (2019)An analyzable annotation languageACM SIGPLAN Notices10.1145/583854.58244137:11(231-245)Online publication date: 13-Nov-2019
  • (2004)Improving the Consistency Checking Process by Reusing Formal Verification KnowledgePerspectives of System Informatics10.1007/978-3-540-39866-0_37(366-380)Online publication date: 2004
  • (2003)Reuse of Formal Verification Efforts of Incomplete Models at the Requirements Specification StageComponent-Based Software Quality10.1007/978-3-540-45064-1_15(326-351)Online publication date: 2003
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '00: Proceedings of the 22nd international conference on Software engineering
June 2000
843 pages
ISBN:1581132069
DOI:10.1145/337180
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 2000

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. interface extension
  2. refinement
  3. simulation
  4. specialization by inheritance
  5. system modeling/verification

Qualifiers

  • Article

Conference

ICSE00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)35
  • Downloads (Last 6 weeks)16
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)An analyzable annotation languageACM SIGPLAN Notices10.1145/583854.58244137:11(231-245)Online publication date: 13-Nov-2019
  • (2004)Improving the Consistency Checking Process by Reusing Formal Verification KnowledgePerspectives of System Informatics10.1007/978-3-540-39866-0_37(366-380)Online publication date: 2004
  • (2003)Reuse of Formal Verification Efforts of Incomplete Models at the Requirements Specification StageComponent-Based Software Quality10.1007/978-3-540-45064-1_15(326-351)Online publication date: 2003
  • (2002)An analyzable annotation languageProceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/582419.582441(231-245)Online publication date: 4-Nov-2002
  • (2002)VAlloy — Virtual Functions Meet a Relational LanguageFME 2002:Formal Methods—Getting IT Right10.1007/3-540-45614-7_14(234-251)Online publication date: 9-Jul-2002
  • (2000)Comprehensive specification of distributed systems using I/sup 5/ and IOAProceedings 20th International Conference of the Chilean Computer Science Society10.1109/SCCC.2000.890394(74-82)Online publication date: 2000
  • (2000)A client-server approach to virtually synchronous group multicast: specifications and algorithmsProceedings 20th IEEE International Conference on Distributed Computing Systems10.1109/ICDCS.2000.840946(344-355)Online publication date: 2000

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media