Data processing: software development – installation – and managem – Software program development tool – Code generation
Reexamination Certificate
2008-05-27
2008-05-27
Ingberg, Todd (Department: 2193)
Data processing: software development, installation, and managem
Software program development tool
Code generation
C717S116000, C717S144000
Reexamination Certificate
active
10807678
ABSTRACT:
A method for implementing virtual bases with fixed offsets in a class hierarchy graph, having nodes representing object classes and edges representing immediate inheritance therebetween, corresponding to an object oriented program includes determining whether a set N including all nodes is empty. A node x is removed from N, when N is not empty. It is determined whether a set Y is empty, Y including nodes that directly and virtually inherit from x. When Y is empty, return to determining whether N is empty, otherwise a node y is removed from Y. It is determined whether y is duplicated. When y is duplicated, return to determining whether Y is empty, otherwise an edge e, representing that y virtually inherits from x, is replaced with an edge e′, representing that x has a fixed offset with respect to y. Upon replacing e, return to determining whether N is empty.
REFERENCES:
patent: 5535391 (1996-07-01), Hejlsberg et al.
patent: 5590327 (1996-12-01), Biliris et al.
patent: 5790861 (1998-08-01), Rose et al.
patent: 5794041 (1998-08-01), Law et al.
patent: 6161217 (2000-12-01), Detlefs et al.
patent: 6317796 (2001-11-01), Bak et al.
patent: 6507946 (2003-01-01), Alexander et al.
patent: 6754887 (2004-06-01), Gil et al.
Principles of Object-Oriented Analysis And Design, James Martin, Jun. 1, 1992, p. 269.
Incide the C++ Object Model, Stanley B. Lippman, 1996, pp. 1-29, 31-49,95-106,144-149, 159-165,172-196.
“Space and Time Efficient Memory Layout for Multiple Inheritance”, Joseph Gil et al, IBM T.J. Watson research Center, ACM, pp. 256-275.
Pugh et. al., “Two-directional record layout for multiple inheritance”, Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, White Plains, NY, Jun. 20-22, 1990, pp. 85-91.
Erik Ernst, “Propagating Class and Method Combination”, Proceedings of the 13thEuropean Conference on Object-Oriented Programming (ECOOP'99), Lecture Notes in Computer Science, Lisbon, Portugal, Jun. 1999, R. Guerraoui, ed., Springer Verlag, pp. 67-91.
Burke et. al., “A Framework for Evaluating Space and Time Overhead for C++ Object Models”, Research Report RC 20421, IBM, TJ Watson Research Center, Mar. 1996, Declassified Jan. 1998, pp. 1-28.
Cardelli et. al., “On Understanding Types, Data Abstraction, and Polymorphism”, Computing Surveys, vol. 17, No. 4, Dec. 1985, pp. 471-522.
Gil et. al., “The Complexity of Type Analysis of Object Oriented Programs”, Proceedings of the 12thEuropean Conference on Object-Oriented Programming (ECOOP'98), Lecture Notes in Computer Science, Brussels, Belgium, Jul. 1998, E.Jul., editor, Springer Verlag, pp. 601-634.
Carter et. al., “Universal Class of Hash Functions”, Journal of Computer and System Sciences 18, (1979) pp. 143-154.
Chambers et. al., “Whole-Program Optimization of Object-Oriented Languages”, Technical Report UW-CSE-96-06-02, U. of Wash., Dept. of Computer Science and Engineering, Jun. 1996, pp. 1-70.
Nackman et. al., “Base-Class Composition with Multiple Derivation and Virtual Bases”, Proceedings of the Sixth Usenix C++ Technical Conference, Cambridge, MA, Apr. 11-14, 1994, pp. 57-71.
Karasick et. al., “The Architecture of Montana: An Open and Extensible Programming Environment with an Incremental C++ Compiler”, Proceedings of the Foundations of Software Engineering (FSE'98), Orlando, FL., Nov. 1997, pp. 131-142.
Garey et.al., “Computers and Intractability: A Guide to the Theory of NP-Completeness”, W.H. Freeman and Co., pp. 1-15, 194-195, 1979.
Tip et. al., “Class Hierarchy Specialization”, Proceedings of the Twelfth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'97), Atlanta GA, pp. 271-285, Oct. 1997 (also published in ACM SIGPLAN Notices 32(10), 1997).
S. Krogdahl, “Multiple Inheritance in Simula-Like Languages”, BIT 25, pp. 318-326, 1984.
A. Myers, “Bidirectional Object Layout for Separate Compilation”, Proceedings of the 10thAnnual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'95), pp. 124-139, Austin, Texas, USA, Oct. 15-19, 1995 (also published in ACM SIGPLAN Notices 30(10), Oct. 1995).
Rossie, Jr., et. al., “An Algebraic Semantics of Subobjects”, Proceedings of the 10thAnnual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'95), pp. 187-199, Austin, Texas, USA, Oct. 15-19, 1995 (also published in ACM SIGPLAN Notices 30(10) Oct. 1995).
Sweeney, et. al., “A Methodology for Quantifying and Evaluating the Space Overhead in C++ Object Models”, Computer Sciences/Mathematics RC 21370 (96227) (Dec. 18, 1998) pp. 1-24.
Stanley B. Lippman, “Inside the C++ Object Model”, Addison-Wesley, second edition, 1996, pp. 82-107.
B. Stroustrup, “The Design and Evolution of C++”, Addison-Wesley, Mar. 1994, pp. 257-276.
Ellis, et.al, The Annotated C++ Reference Manual, Addison-Wesley, Jan. 1994, pp. 195-237.
Krall, et. al., “Near Optimal Hierarchical Encoding of Types”, Proceedings of the 11thEuropean Conference on Object-Oriented Programming (ECOOP'97) Lecture Notes in Computer Science, Jyvaskyla, Finland, Jun. 1997, Mehmit Aksit, Satoshi Matsuoka (eds.), Springer Verlag, pp. 128-145.
Flatt, et. al., “Classes and Mixins”, POPL 98, San Diego, CA, pp. 171-183.
Linton, et. al., “Interface Translation and Implementation Filtering”, Usenix Association, C++ Technical Conference Proceedings, Cambridge, MA, Apr. 11-14, 1994, pp. 227-236.
B. Martin, “The Separation of Interface and Implementation in C++”, Usenix Association, C++ Conference, pp. 51-63, 1991.
B. Stroustrup, “Multiple Inheritance for C++”, European Unix System User's Group Conference, May 1987, pp. 189-207.
Gil Joseph
Sweeney Peter F.
LandOfFree
Implementing virtual bases with fixed offsets in object... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Implementing virtual bases with fixed offsets in object..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Implementing virtual bases with fixed offsets in object... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3908968