Abstract
This paper describes the application of the Real-Time Maude tool and the Maude formal methodology to the specification and analysis of the AER/NCA suite of active network multicast protocol components. Because of the time-sensitive and resource-sensitive behavior, the presence of probabilistic algorithms, and the composability of its components, AER/NCA poses challenging new problems for its formal specification and analysis. Real-Time Maude is a natural extension of the Maude rewriting logic language and tool for the specification and analysis of real-time object-based distributed systems. It supports a wide spectrum of formal methods, including: executable specification; symbolic simulation; breadth-first search for failures of safety properties in infinite-state systems; and linear temporal logic model checking of time-bounded temporal logic formulas. These methods complement those offered by network simulators on the one hand, and timed-automaton-based tools and general-purpose theorem provers on the other. Our experience shows that Real-Time Maude is well-suited to meet the AER/NCA modeling challenges, and that its methods have proved effective in uncovering subtle and important errors in the informal use case specification.
Similar content being viewed by others
Notes
It is however possible to use formal methods and tools to support the passage from informal to formal specifications: a fairly large body of work on the formal underpinnings of UML, as well as work on passing from scenarios to system specifications and code [11] are good examples of work in this direction. But it does not follow from this that a full formalization of the entire process is possible: just the simple fact that ethical decisions are often involved in the choice of the relevant properties, particularly for safety-critical systems, seems to us a clear indication that it isn’t.
Active networks allow users to inject programs into the nodes of the network.
Rewrites cannot take place in a frozen argument position of a function symbol, so that a term \(f(t_1, \ldots, t_i, \ldots, t_n)\) will not rewrite to \(f(t_1, \ldots, u_i, \ldots, t_n)\) when t i rewrites to u i if \(i\in \phi(f)\).
In general, the condition of such rules may not only contain rewrites \(u_i\longrightarrow v_i\) and equations \(w_j=w'_j\), but also memberships \(t_k:s_k\); however, the specifications in this paper do not use this extra generality.
Operationally, a term is reduced to its E-normal form modulo A before any rewrite rule is applied in Maude. Under the coherence assumption [33] this is a complete strategy to achieve the effect of rewriting in \(E\cup A\)-equivalence classes.
In Real-Time Maude, being an extension of Full Maude, module declarations and execution commands must be enclosed by a pair of parentheses.
If one or more of an object's attributes are of sort Object or Configuration, an object may contain other objects, or even entire configurations, as parts of its state, giving rise to “Russian dolls” distributed object architectures [17].
The attributes and rules of a class cannot be redefined by its subclasses, but subclasses may introduce additional attributes and rules.
For the purpose of conveniently defining initial states, Real-Time Maude allows the user to introduce operators of sort GlobalSystem, such as RTTstate2 in Section 4.11.2. Each ground term of sort GlobalSystem must reduce to a term of the form { t } using the equations in the specification.
Since the temporal logic model checker uses depth-first search techniques, there are cases in which the check command terminates even without a time limit, and where the temporal logic model checker would loop. One such example is shown in Section 4.13.
Recall from Section 3.1 that the attributes assoc, comm, and id: none of the operator \(\mathtt{\_\:\_}\) state that \(\mathtt{\_\:\_}\) is associative, commutative, and has identity element none. That is, together with the subsort Oid < OidSet, this operator defines multisets of Oid elements, where the order of the elements does not matter.
The list concatenation operator \(\mathtt{\_+\_}\) is declared to be associative (assoc), so that parentheses are not needed and rules can match such lists with associative pattern matching.
Maude supports both “Peano” and ordinary decimal representation of natural numbers, so that s N (in rule outOfDownLink) is an equivalent representation of N + 1. Furthermore, s N is an irreducible term which can be used as a pattern in the left-hand side of a rule.
Since the total delay of a packet entering the link is larger than the delay of the packets already in the link, the first (leftmost) packet will have the smallest delay, and the last packet will have the largest delay.
The output of Real-Time Maude executions will be manually tabulated for readability purposes, and parts of the output omitted in the exposition will be replaced by ‘...'
Although the lpe estimates are then considered less reliable, this avoids having long initial computation segments that could cause combinatorial explosion when performing formal analysis. Furthermore, the design errors we found did not depend on the specific value chosen for the size bound.
Since there is no repair service intervention for the NAMPackets, we have abstracted from their transmission times. The situation is even worse when there is a non-zero time interval without a nominee receiver. Indeed, even if the new nominee is aware of it being the new nominee before the old nominee becomes aware of the change, the protocol may still miss to acknowledge a data packet which arrives at the new nominee much earlier than at the old nominee.
The sender sends an SPM packet when the protocol starts, explaining why the link becomes full after 9 data packets.
References
Agha G, Gunter C, Greenwald M, Khanna S, Meseguer J, Sen K, Thati P (2005) Formal modeling and analysis of DoS using probabilistic rewrite theories. In: Workshop on Foundations of Computer Security (FCS’05)
Agha G, Meseguer J, Sen K (2005) PMaude: Rewrite-based specification language for probabilistic object systems. In: 3rd Workshop on Quantitative Aspects of Programming Languages (QAPL’05)
Behrmann G, David A, Larsen KG (2004) A tutorial on uppaal. In: Bernardo M, Corradini F (eds) Formal Methods for the Design of Real-Time Systems (SFM-RT 2004), volume 3185 of Lecture Notes in Computer Science. Springer, pp 200–236
Bozga M, Graf S, Ober I, Ober I, Sifakis J (2004) Tools and applications II: The IF toolset. In: Bernardo M, Corradini F (eds) Formal Methods for the Design of Real-Time Systems (SFM-RT 2004), volume 3185 of Lecture Notes in Computer Science. Springer, pp 237–267
Bruni R, Meseguer J (2003) Generalized rewrite theories. In: Baeten JCM, Lenstra JK, Parrow J, Woeginger GJ (eds) 30th International Colloquium on Automata, Languages and Programming (ICALP 2003), volume 2719 of Lecture Notes in Computer Science. Springer, pp 252–266
Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Quesada JF (2002) Maude: Specification and programming in rewriting logic. Theor Comput Sci 285:187–243
Clavel M, Dúran F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2005) Maude manual (Version 2.1.1), http://maude.cs.uiuc.edu
Eker S, Meseguer J, Sridharanarayanan A (2002) The Maude LTL model checker. In: Gadducci F, Montanari U (eds) Fourth International Workshop on Rewriting Logic and its Applications, volume 71 of Electronic Notes in Theoretical Computer Science. Elsevier
Goodloe A, Gunter CA, Stehr M-O (2005) Formal prototyping in early stages of protocol design. In: Workshop on Issues in the Theory of Security (WITS’05), pp 67–80
Gutierrez-Nolasco S, Venkatasubramanian N, Stehr M-O, Talcott CL (2004) Exploring adaptability of secure group communication using formal prototyping techniques. In: 3rd Workshop on Reflective and Adaptive Middleware (RM2004)
Harel D (2000) From play-in scenarios to code: An achievable dream. In: FASE’00, Fundamental Approaches to Software Engineering, volume 1783 of Lecture Notes in Computer Science. Springer, pp 22–34
Henzinger TA, Ho P-H, Wong-Toi H (1997) HyTech: A model checker for hybrid systems. Softw Tools Technol Transfer 1:110–122
Kasera S, Bhattacharyya S, Keaton M, Kiwior D, Kurose J, Towsley D, Zabele S (2000) Scalable fair reliable multicast using active services. IEEE Network Mag 14(1):48–57 (Special Issue on Multicast)
Knuth DE (1981) The art of computer programming: Seminumerical algorithms, vol 2, 2nd edn. Addison-Wesley
Kumar N, Sen K, Meseguer J, Agha G (2003) A rewriting based model of probabilistic distributed object systems. In: Formal Methods for Open Object-Based Distributed Systems (FMOODS 2003), vol 2884 of Lecture Notes in Computer Science. Springer, pp 32–46
Lien E (2004) Formal modelling and analysis of the NORM multicast protocol using Real-Time Maude. Master's thesis, Department of Linguistics, University of Oslo
Meseguer J, Talcott CL (2002) Semantic models for distributed object reflection. In: Magnusson B (ed) 16th European Conference on Object-Oriented Programming (ECOOP 2002), volume 2374 of Lecture Notes in Computer Science. Springer, pp 1–36
Meseguer J (1992) Conditional rewriting logic as a unified model of concurrency. Theor Comput Sci 96:73–155
Meseguer J (1993) A logical theory of concurrent objects and its realization in the Maude language. In: Agha G, Wegner P, Yonezawa A (eds) Research directions in concurrent object-oriented programming. MIT Press, pp 314–390
Meseguer J (1998) Membership algebra as a logical framework for equational specification. In: Parisi-Presicce F (ed) WADT’97, volume 1376 of Lecture Notes in Computer Science, Springer, pp 18–61
Meseguer J (2000) Rewriting logic and Maude: A wide-spectrum semantic framework for object-based distributed systems. In: Smith S, Talcott CL (eds) Formal Methods for Open Object-Based Distributed Systems, FMOODS 2000. Kluwer, pp 89–117
Ölveczky PC, Keaton M, Meseguer J, Talcott C, Zabele S (2001) Specification and analysis of the AER/NCA active network protocol suite in Real-Time Maude. In: Hussmann H (ed) Fundamental Approaches to Software Engineering (FASE 2001), volume 2029 of Lecture Notes in Computer Science, Springer, pp 333–347
Ölveczky PC, Meseguer J, Talcott CL (2004) Specification and analysis of the AER/NCA active network protocol suite in Real-Time Maude. Technical report, Department of Computer Science, University of Illinois at Urbana-Champaign
Ölveczky PC, Meseguer J (2002) Specification of real-time and hybrid systems in rewriting logic. Theor Comput Sci 285:359–405
Ölveczky PC, Meseguer J (2004) Specification and analysis of real-time systems using Real-Time Maude. In: Margaria T, Wermelinger M (eds) Fundamental Approaches to Software Engineering (FASE 2004), volume 2984 of Lecture Notes in Computer Science. Springer, pp 354–358
Ölveczky PC, Meseguer J (2005) Real-Time Maude 2.1. In: Martí-Oliet N (ed) 5th International Workshop on Rewriting Logic and its Applications (WRLA 2004), volume 117 of Electronic Notes in Theoretical Computer Science. Elsevier, pp 285–314
Ölveczky PC, Meseguer J (2006) Abstraction and completeness for Real-Time Maude. In: Denker G, Talcott CL (eds) 6th International Workshop on Rewriting Logic and its Applications (WRLA’06). To appear in Electronic Notes in Theoretical Computer Science
Ölveczky PC, Thorvaldsen S (2006) Formal modeling and analysis of wireless sensor network algorithms in Real-Time Maude. In: 20th International Parallel and Distributed Processing Symposium (IPDPS 2006). IEEE Computer Society Press
Ölveczky PC (2000) Specification and analysis of real-time and hybrid systems in rewriting logic. PhD thesis, University of Bergen
Ölveczky PC (2004) Real-Time Maude 2.1 manual. http://www.ifi.uio.no/RealTimeMaude/
Ölveczky PC (2005) Formal modeling and analysis of distributed systems in Maude. Course book for INF3230, Dept. of Informatics, University of Oslo
Sen K, Viswanathan M, Agha G (2005) On statistical model checking of stochastic systems. In: 17th Conference on Computer-Aided Verification (CAV’05), volume 3576 of Lecture Notes in Computer Science. Springer
Viry P (2002) Equational rules for rewriting logic. Theor Comput Sci 285:487–517
Yovine S (1997) Kronos: A verification tool for real-time systems. Softw Tools Technol Trans 1(1/2):123–133
Acknowledgments
We are grateful to Mark Keaton and Steve Zabele for their invaluable cooperation during the specification and analysis of a previous version, in Real-Time Maude 1.0, of the AER/NCA protocol suite. Their explanation of AER/NCA and related issues, their feedback to our specification efforts, and their suggestions of suitable initial states for the analysis parts were essential for the modeling and analysis described in this paper. We also thank the anonymous referees for many helpful comments on a previous version of this paper. Partial support of this research by ONR Grant N00014-02-1-0715, by NSF Grant CCR-0234524, by DARPA through Rome Labs. Contract F30602-97-C-0312, and by The Norwegian Research Council is gratefully acknowledged.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ölveczky, P.C., Meseguer, J. & Talcott, C.L. Specification and analysis of the AER/NCA active network protocol suite in Real-Time Maude. Form Method Syst Des 29, 253–293 (2006). https://doi.org/10.1007/s10703-006-0015-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-006-0015-0