Academia.eduAcademia.edu

Outline

Modular specification of frame properties in JML

2003, Concurrency and Computation: Practice and Experience

Abstract

We present a modular specification technique for frame properties. The technique uses modifies clauses and abstract fields with declared dependencies. Modularity is guaranteed by a programming model that restricts aliasing, and by modularity requirements for dependencies. For concreteness, we adapt this technique to the Java Modeling Language, JML.

References (18)

  1. Alex Borgida, John Mylopoulos, and Rayomnd Reiter. On the frame prob- lem in procedure specifications. IEEE Transactions on Software Engineer- ing, 21(10):785-798, October 1995.
  2. D. G. Clarke, J. Noble, and J. M. Potter. Simple ownership types for containment. In European Conference on Object-Oriented Programming, ECOOP 2001, Lecture Notes in Computer Science. Springer-Verlag, 2001. (to appear).
  3. D. G. Clarke, J. M. Potter, and J. Noble. Ownership types for flexible alias protection. In Proceedings of Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), volume 33(10) of ACM SIGPLAN Notices, October 1998.
  4. DEJ + 00] Sophia Drossopoulou, Susan Eisenbach, Bart Jacobs, Gary T. Leavens, Pe- ter Müller, and Arnd Poetzsch-Heffter. Formal techniques for Java pro- grams. In Jacques Malenfant, Sabine Moisan, and Ana Moreira, editors, Object-Oriented Technology. ECOOP 2000 Workshop Reader, volume 1964 of Lecture Notes in Computer Science, pages 41-54. Springer-Verlag, 2000.
  5. Krishna Kishore Dhara and Gary T. Leavens. Forcing behavioral subtyp- ing through specification inheritance. In Proceedings of the 18th Interna- tional Conference on Software Engineering, Berlin, Germany, pages 258- 267. IEEE Computer Society Press, March 1996. A corrected version is Iowa State University, Dept. of Computer Science TR #95-20c.
  6. GHG + 93] John V. Guttag, James J. Horning, S.J. Garland, K.D. Jones, A. Modet, and J.M. Wing. Larch: Languages and Tools for Formal Specification. Springer-Verlag, New York, NY, 1993.
  7. Gary T. Leavens, Albert L. Baker, and Clyde Ruby. JML: A notation for detailed design. In Haim Kilov, Bernhard Rumpe, and Ian Simmonds, editors, Behavioral Specifications of Businesses and Systems, pages 175-188. Kluwer Academic Publishers, Boston, 1999.
  8. Gary T. Leavens, Albert L. Baker, and Clyde Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06m, Iowa State University, Department of Computer Science, February 2001. See www.cs.iastate.edu/~leavens/JML.html.
  9. K. Rustan M. Leino. Toward Reliable Modular Programs. PhD thesis, California Institute of Technology, 1995. Available as Technical Report Caltech-CS-TR-95-03.
  10. K. Rustan M. Leino. Data groups: Specifying the modification of extended state. In OOPSLA '98 Conference Proceedings, volume 33(10) of ACM SIGPLAN Notices, pages 144-153. ACM, October 1998.
  11. K. Lano and H. Haughton, editors. Object-Oriented Specification Case Stud- ies. The Object-Oriented Series. Prentice Hall, New York, NY, 1994.
  12. K. Rustan M. Leino and Greg Nelson. Data abstraction and information hiding. Technical Report 160, Compaq Systems Research Center, 130 Lytton Avenue Palo Alto, CA 94301, 2000.
  13. Barbara Liskov and Jeannette Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811- 1841, November 1994.
  14. Peter Müller and Arnd Poetzsch-Heffter. A type system for controlling representation exposure in Java. Published in [DEJ + 00]., 2000.
  15. P. Müller and A. Poetzsch-Heffter. Universes: A type system for alias and dependency control. Technical Report 279, FernUniversität Hagen, 2001.
  16. Peter Müller. Modular Specification and Verification of Object-Oriented programs. PhD thesis, FernUniversität Hagen, Germany, March 2001.
  17. Susan Stepney, Rosalind Barden, and David Cooper, editors. Object Ori- entation in Z. Workshops in Computing. Springer-Verlag, Cambridge CB2 1LQ, UK, 1992.
  18. Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-24, January 1987.