home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / specific / 382 < prev    next >
Encoding:
Text File  |  1992-08-21  |  3.4 KB  |  78 lines

  1. Newsgroups: comp.specification
  2. Path: sparky!uunet!decwrl!deccrl!news.crl.dec.com!pa.dec.com!src.dec.com!src.dec.com!horning
  3. From: Lamport@src.dec.com
  4. Subject: Re: Linear and Branching Time Temporal Logic
  5. Message-ID: <1992Aug21.230556.9861@src.dec.com>
  6. Followup-To: Lamport@src.dec.com
  7. Keywords: TLA, Temporal Logic of Actions
  8. Sender: news@src.dec.com (News)
  9. Organization: DEC Systems Research Center
  10. References:  <172o80INNk2k@iraul1.ira.uka.de>
  11. Date: Fri, 21 Aug 92 23:05:56 GMT
  12. Lines: 64
  13.  
  14. In article <172o80INNk2k@iraul1.ira.uka.de>, zundel@i10s7 (Armin Zundel) writes:
  15.  
  16. |> after reading some papers about temporal logic I had some problems to
  17. |> decide when to use linear time logics and when to use branching time
  18. |> logics. I decided to read 
  19. |> 
  20. |> "Sometimes" and "Not Never" revisited: On Branching versus Linear Time
  21. |> Temporal Logic 
  22. |> by E.a. Emerson and J.Y. Halpern.
  23. |> 
  24. |> Now I'm even more confused. I just want so specify distributed systems.
  25. |> Can anyone tell me what real life properties can be specified with
  26. |> linear time logic and which can be specified in branching time logic. 
  27.  
  28.  
  29. Dear Mr. Zundel,
  30.  
  31. Your message will probably stimulate lots of philosophical debate among
  32. theoreticians.  Here's my view, based on my experience actually
  33. verifying and specifying concurrent systems.  
  34.  
  35. The simplest linear-time logic, with just state predicates and the Box
  36. operator, can express the intuitive concepts "always" and "eventually".
  37. The analogous branching-time logic, with just state predicates and the
  38. Box operator, can express the intuitive concepts "always" and
  39. "possibly".  Since "eventually" is a pretty important concept, I don't
  40. think anyone advocates the use of such a simple branching-time logic.
  41. I believe that the branching-time logics that people propose allow one
  42. to express both "eventually" and "possibly".  I have never wanted to
  43. write a specification such as
  44.  
  45.   "If the user enters an input, then it is possible for the system to
  46.    produce the correct answer."
  47.  
  48. so the ability to express possibility is of no interest to me.
  49. Therefore, I've found linear-time temporal logic adequately expressive,
  50. and have no need for complicated branching-time logics.
  51.  
  52. Unfortunately, a simple linear-time logic with just Box and state
  53. predicates isn't expressive enough.  You need something more.  The
  54. traditional approach has been to add more powerful temporal operators,
  55. and to write a specification as a list of temporal-logic formulas.
  56. However, my experience is that, for systems of any complexity, such
  57. specifications become incomprehensible and are usually wrong.  The only
  58. practical specification methods are ones that write a specification as
  59. an abstract program.  (Petri nets and CCS formulas are examples of
  60. abstract programs.) However, programs aren't as mathematically simple
  61. or as amenable to manipulation and reasoning as logical formulas are.
  62.  
  63. My approach is to use just the Box operator, but to generalize from
  64. simple state predicates to predicates on pairs of states.  With this
  65. logic, which I call TLA (the Temporal Logic of Actions), it is easy to
  66. write abstract programs as logical formulas.  For example, one could
  67. express the program that starts with x equal to 0 and repeatedly
  68. increments x by one as
  69.  
  70.    (x = 0)  /\  [](x' = x+1)
  71.  
  72. (where /\ denotes conjunction and [] denotes Box).  TLA is described in
  73. a research report that I am sending you in a separate message.
  74.  
  75. Leslie Lamport
  76.  
  77.  
  78.