Browse > Article

An Approach to Verifying Behavioral Compatibility between Objects using Successive Methods Rule  

Chae, Heung-Seok (부산대학교 컴퓨터공학과)
Lee, Joon-Sang (고려대학교 임베디드 소프트웨어학과)
Bae, Jung-Ho (부산대학교 컴퓨터공학과)
Abstract
In object-oriented systems, objects are organized in hierarchies such that subtypes Inherit and specialize the structure and the behavior of supertypes. Behavioral compatibility is a very crucial issue to permit the substitution between object types, which supports the extension and evolution of object oriented system. This paper proposes successive methods rule that extending methods rule for checking behavioral compatibility between objects on the basis of their dynamic behaviors expressed in finite state machine which is one of the most frequently used notations for expressing dynamic behaviors of object. Based on the classical methods rule, successive methods rule is used for guarantee behavioral compatibility by checking the traces of two objects. And we describe an algorithm for verifying behavioral compatibility between objects using the successive methods rule.
Keywords
Behavioral compatibility; subtype;
Citations & Related Records
연도 인용수 순위
  • Reference
1 America, P. 1991. Designing an Object-Oriented Programming Language with Behavioral Subtyping, In Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages. London, UK: Springer-Verlag, pp. 60-90
2 Meyer, B. 1992. \Design by Contract,' IEEE Computer 25(10), p. 4051
3 Chow, T., S. 1978. Testing software design modeled by finite-state machines. IEEE Trans. Software Eng 4(3), pp. 178-187
4 Knor, R. Trausmuth, G. and Weidl, J. 1998. Reengineering c/c++ source code by transforming state machines. In ESPRIT ARES Workshop, pp. 97-105
5 David, A. Moller, M., O. and Yi, W. 2002. Formal verification of uml statecharts with real-time extensions. In FASE, pp. 218-232
6 van Katwijk, J. Toetenel, H. Sahraoui, A.-E.-K. Anderson, E. and Zalewski, J. 2000. Specification and verification of a safety shell with statecharts and extended timed graphs. In SAFECOMP, pp. 37-52
7 N. Pywes and P. Rehmet. 1996. Recovery of software design, state-machines, and speci-cations from source code. In ICECCS, pp. 279-288
8 Niaz, I. and Tanaka, J. 2003. Code generation from uml statecharts. In SEA '03: Proceedings of international conference on Software Engineering and Applications
9 Saake, G., R. Jungclaus, R. Wieringa and R. Feenstra. 1994. Inheritance Conditions for Object Life Cycle Diagrams. In Proceedings of EMISA. pp. 79-88
10 Kim, Y. Hong, H. Bae, D. and Cha. S. Test cases generation from uml state diagrams
11 Schrefl, M. and M. Stumptner. 1995. Behavior Consistent Extension of Object Life Cycles. In Proceedings of OOER'95. pp. 133-145
12 Wegner, P. and S. Zdonik. 1988. Inheritance as an incremental modification mechanism or what like is and isn't like. In ECOOP '88, pp. 55-77
13 Corbett, J., C. Dwyer, M., B. Hatcliff, J. Laubach, S. Pasareanu, C., S. Robby, and Zheng, H. 2000. Bandera:extracting finite-state models from java source code. In ICSE, pp. 439-448
14 Canning, P., W. Cook, W. Hill and W. Olthoff. 1989. Interfaces for strongly-typed object-oriented programming. In OOPSLA '89, pp. 457-467
15 Pinter, G. and Majzik, I. 2004. Runtime verification of statechart implementations. In WADS, pp, 148-172
16 Schrefl, M. and M. Stumptner. 2002. Behaviorconsistent Specialization of Object Life Cycles,' ACM Transactions on Software Engineering and Methodology 11(1), pp. 92-148   DOI   ScienceOn
17 Olderog, E.-R. and H. Wehrheim. 2005. Specification and (property) inheritance in CSP-OZ,' Sci. Comput. Program. 55(1-3), pp. 227-257   DOI   ScienceOn
18 Wehrheim, H. 2002. Behavioral Subtyping in Object-oriented Specification Formalisms.'
19 Kang, K., C. and Ko, K.-I. 1996. Formalization and $veri^-cation$ of safety properties of statechart specifications. In APSEC, pp. 16-
20 Schrefl, M. and M. Stumptner. 1997. Behavior Consistent Refinement of Object Life Cycles. In Proceedings of ER'97. pp. 155-168
21 Chevalley, P. and Thevenod-Fosse, P. 2001. Automated generation of statistical test cases from uml state diagrams. In COMPSAC, pp. 205-214
22 Hoare, C. 1985. Communicating Sequential Process. Prentice Hall
23 Fischer, C. 1997. CSP-OZ: a combination of Object-Z and CSP. In Proc. 2nd IFIP Workshop on Formal Methods for Open Object-Based Distributed Systems (FMOODS)
24 Khler, H., J. Nickel, U. Niere, J. and Zndorf, A. 2000. Integrating uml diagrams for production control systems. In ICSE '00: Proceedings of the 22nd international conference on Software engineering, pp. 241-251
25 Fischer, C. and H. Wehrheim. 2000. Behavioral Subtyping Relations for Object-Oriented Formalisms,' Lecture Notes in Computer Science 1816, pp. 469-484
26 Model Development Tools (MDT) version 1.0, 2007. Available at http://www.eclipse.org/modeling/mdt/?project=uml2
27 Ebert, J. and G Engels. 1994. Observable or invocable behavior. You have to choose. Technical report Universitat Koblenz, Koblenz, Germany
28 Wehrheim, H. 2003. Behavioral Subtyping Relations for Active Objects,' Form. Methods Syst. Des. 23(2), pp. 143-170   DOI   ScienceOn
29 Sernadas, A. and H.-D. Ehrich. 1991. What is an Object, after all? In Proceedings of IFIP WG 2.6 Working Conference on Object-oriented Databases: Analysis, Design and Construction. pp. 39-70
30 Liskov, B. and J. Wing. 1994. A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems 15(6), pp. 1911-1841
31 Ehrich, H.-D., J. Goguen and A. Sernadas. 1990. A Categorical Theory of Objects as Observed Processes. In Proceedings of Foundations of Object-Oriented Languages(REX School/Workshop). pp. 203-228