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)
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- K. Rustan M. Leino. Toward Reliable Modular Programs. PhD thesis, California Institute of Technology, 1995. Available as Technical Report Caltech-CS-TR-95-03.
- 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.
- K. Lano and H. Haughton, editors. Object-Oriented Specification Case Stud- ies. The Object-Oriented Series. Prentice Hall, New York, NY, 1994.
- 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.
- Barbara Liskov and Jeannette Wing. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems, 16(6):1811- 1841, November 1994.
- Peter Müller and Arnd Poetzsch-Heffter. A type system for controlling representation exposure in Java. Published in [DEJ + 00]., 2000.
- P. Müller and A. Poetzsch-Heffter. Universes: A type system for alias and dependency control. Technical Report 279, FernUniversität Hagen, 2001.
- Peter Müller. Modular Specification and Verification of Object-Oriented programs. PhD thesis, FernUniversität Hagen, Germany, March 2001.
- Susan Stepney, Rosalind Barden, and David Cooper, editors. Object Ori- entation in Z. Workshops in Computing. Springer-Verlag, Cambridge CB2 1LQ, UK, 1992.
- Jeannette M. Wing. Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems, 9(1):1-24, January 1987.