- •1496 Corba - Object-Oriented Technology)
- •1432 Five Object Oriented Development Methods, Research report, hp Laboratories,
- •1866 Corba Implementation Descriptions: Object-Oriented Technologies dome
- •135 Based approaches (e.G. Smalltalk handles) allow powerful dynamic typing, as
- •83 There are many definitions of an object, such as found in [Booch 91, p77]:
- •83 There are many definitions of an object, such as found in [Booch 91, p77]:
- •48 Languages that are historically procedural languages, but have been extended with some oo features. Examples: Visual Basic (derived from basic), Fortran 2003, Perl, cobol 2002, php, abap.
- •121 Interface - e.G. Gui
- •197 Sharing and often instances will simply delegate to parents to access methods
- •670 Polymorphic languages can be statically typed to provide strong type checking,
- •Inclusion
- •209 Usage is atypical] See [Booch 94, pp 154-155] for a brief discussion of
- •203 Parents (as any other member) can be added or changed dynamically, providing
- •23 Subtype polymorphism
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •24 Object inheritance (or delegation)
- •295 1.4) What Is a Meta-Class? (Object-Oriented Technology)
- •228 [Booch 91, p. 45] defines: "Encapsulation is the process of hiding all of the
- •912 Polymorphism is the ability of an object (or reference) to assume (be replaced
- •702 See also section 3.7, the Annotated Bibliography, and appendix d. The
- •120 Application Objects - In the Object Model
- •210 Prototype theory in the context of ooa and ood.
- •180 Derived class, parent class
- •400 Specify required attributes of a matching object (see sections 2.1, 2.7 and
- •2282 Garbage collection (gc) is a facility in the run-time system associated with a
- •1540 From a joint proposal (named "corba") of Hewlett-Packard, ncr Corp.,
- •170 Inheritance. This is an example of dynamic binding, which replaces a
- •1519 1) The Object Request Broker, or key communications element, for
- •714 Of externally observable behavior; a complete, consistent, and feasible
- •749 (User-)environment). The product, or resultant model,
- •302 The Meta-Class can also provide services to application programs, such as
- •1511 In late 1990 the omg published its Object Management Architecture
- •621 Term "multi-method") consider the functional and receiver based forms
- •1617 Between applications on different machines in heterogeneous
- •192 Objects contain fields, methods and delegates (pseudo parents), whereas
- •159 Function taking an object of the record type, called the receiver, as the
- •1346 Information, updates to Release 1.1 of The Object Database Standard:
- •458 Or change parents from objects (or classes) at run-time. Actors, clos, and
- •774 Should be made into a public standard, perhaps to be adopted by the omg. The
- •140 Objects [Kim 89, ch 19 and Yaoqing 93]. Simple static approaches are found in
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •18 A survey by Deborah j. Armstrong of nearly 40 years of computing literature identified a number of "quarks", or fundamental concepts, found in the strong majority of definitions of oop.
- •168 [Stroustrup 90] covers the implementation details of virtual member functions
- •220 Parents when certain predicates are true. This can support a types
- •148 In more conventional languages to fully emulate this style of dynamically typed
- •2052 - Naming - network implementation of X.500 directory
- •2082 2 V1.X. Development
- •2182 Functionality than specified by the X.500 standard. Because dome goes
- •2191 - True messaging for workflow management and edi
- •1166 Used for assignment compatibility forcing an assigned object to inherit
- •2065 Registering services and entities in a distributed
- •1541 HyperDesk Corp., Digital Equipment Corp., Sun Microsystems and Object
- •2038 Toolkits (others are planned for future release) --
- •2434 Testing of Object-Oriented Programming (toop) faq
- •863 See also [Yourdon 92], [Wilkie 93], and [Booch 94] for discussions on this
- •1465 [Wilkie 93] summarizes, compares, and provides examples of Booch, Wirfs-Brock,
- •2311 Length, include file nesting and macro stack depth. This causes
- •2257 Optical or magnetic media containing all files required to load and
- •2489 Bezier, Boris, "Software Testing Techniques", 2nd edition, Van Nostrand
- •602 Notations for invoking a method, and this invocation can be called a message
- •1776 Object-communication mechanism across heterogeneous networks by using the
- •1391 It covers extensible objected-oriented programming from hardware up.
- •1317 Structured subobjects, each object has its own identity, or object-id (as
- •434 1.9) Does Multiple Inheritance Pose Any Additional Difficulties? (Object-Oriented Technology)
- •1751 Hp believes it is best positioned to help customers take advantage of
- •2709 One. This is a beta release and _should_ compile on any posix.1 system.
- •660 Dominate and double dispatch can be suffered, or an embedded dynamic typing
295 1.4) What Is a Meta-Class? (Object-Oriented Technology)
297 A Meta-Class is a class' class. If a class is an object, then that object
301 the work of being a class. This can be declared in a class named "Meta-Class".
302 The Meta-Class can also provide services to application programs, such as
315 programs (no Meta-Class except for in the compiler and perhaps for type-safe
320 Meta-Class. The Meta-Class is a class and is therefore an instance of
328 of specialized Meta-Classes for classes. There is still a Meta-Class as in
329 a 3 Level System, but as a class it also has a specialized Meta-Class, the
330 "Meta-Class class" and this results in a 5 Level System:
334 Meta-Class
335 Meta-Class class
343 class (Meta-Object), a class is an instance of a Meta-Class, which must also
346 a Meta-Class being an instance of itself or with a "Meta-Class - Meta-Class
581 Meta-Class) and because C++ classes are not accessible to programs. Classes
585 meta-class). In 1 Level (single-hierarchy) systems, all classes are objects.
587 In a Level 3 System and above yes, but only instances of a Meta-Class are
process
228 [Booch 91, p. 45] defines: "Encapsulation is the process of hiding all of the
277 extensional view, which may begin the analysis process).
735 "The process of identifying, collecting, organizing, and representing the
778 Universal Process Model roughly corresponds to the Waterfall Model [Royce 70].
781 Process Models for finer grained analysis and design in the Defined Process
815 the process is often referred to as seamless, meaning there is no conceptual
832 in the US [Humphrey 89]. The CMM also serves as a 5 level improvement process
834 leading to statistical (process) control and sustained improvement. Watts S.
835 Humphrey is now working on the Personal Software Process (PSP), a scaled down
837 based software process (TSP?). Other CMM's in the works at the SEI include a
842 Level 4: Managed: A measurable basis for all improvements to the process.
845 improving the process.
853 Kitson, D.H. and Masters, S. "An Analysis of SEI Software Process Assessment
856 Humphrey, W., Snyder, T. and Willis, R. "Software Process Improvement at
858 Dion, R., "Elements of a Process Improvement Program," IEEE Software, July
860 "Concepts on Measuring the Benefits of Software Process Improvement,"
872 found in [Jacobson 92], and along with recent business process "reengineering"
2231 underlying vendor in order to process requests. From the user's
reference
912 Polymorphism is the ability of an object (or reference) to assume (be replaced
918 polymorphism, which allows an object (or reference) to assume or become any
1029 of an object can ever change. Only a reference can be polymorphic: ...".
1033 Self and Smalltalk, which allows an object (and not just a reference) to
1049 object (pointer or reference (or such parameter)) is assignment compatible with
1103 a reference) is defined to be an instance of exactly one class (in classical
1108 class, if a polymorphic object (or reference) is made to refer to an object,
1516 (reference model) for distributed applications using object-oriented
1517 techniques. To fill out this reference model, four areas of
1533 particular parts of the reference model architecture. After passage
1539 Request Broker portion of the reference model. This technology, adopted
2313 One partial solution to a lack of GC is reference counting. In this
2318 circular data structures. Two systems that use a reference count GC
2325 [Further, GC can perform compaction improving locality of reference.]
2362 Attempts to encapsulate memory management with reference counting, the "poor
2363 man's garbage collector", are usually misguided. Reference counting has worse
2368 collection has completely solved the above problems and made reference
2376 of an object or the object itself. Programmers sometimes use reference
2404 d) Reference counting, which was already discussed.
representation
45 Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed. Concerning the degree of object orientation, following distinction can be made:
70 OOP was developed to increase the reusability and maintainability of source code. Transparent representation of the control flow had no priority and was meant to be handled by a compiler. With the increasing relevance of parallel hardware and multithreaded coding, developer transparent control flow becomes more important, something hard to achieve with OOP.
217 also typically specifies non-shared state when used for representation.
248 a class. A Stack's representation, such as a list or array, will usually be
250 within subclasses (also called derived classes). A Stack's representation
253 all members (its representation). Eiffel 3.0 allows exporting access to
502 favor of a static type (or even loss of an object's representation to that of
525 use of inheritance for typical classification. Representation "roles" can be
663 handling, like C++ friends, usually by allowing representation details of more
669 representation and not type.
997 with respect to representation (subclassing). An example of inclusion
1150 inheritance for subclassing (representation).
1151 2.7) What Is A Separation Between Type And Class (Representation)? (Typing - Object-Oriented Technology)
1158 values. This can insure type-safe programming. However, the representation of
1161 In many languages, a type has a single representation insuring all operations
1163 efficiency by taking advantage of that representation wherever used. In many
1170 This also insures all types share a common representation, or at least a
1172 By separating type from class, or representation (or perhaps separating class
1194 also specify representation. Subtyping is therefore most useful to avoid
request
1459 may continue to request hard copies. We are currently extending the paper
1519 1) the Object Request Broker, or key communications element, for
1525 realising basic object functionality using the Object Request Broker -
1539 Request Broker portion of the reference model. This technology, adopted
1543 application request handling software "bus."
1611 groundwork for technology response to Request for Proposals (RFP)
1613 > The Common Object Request Broker: Arch. and Spec. (Corba)
1614 The CORBA, as defined by the OMG's Object Request Broker (ORB),
1619 object systems. The Common Object Request Broker Architecture and
1621 contained response to the Request for Proposals (RFP) issued by
1654 Full implementation of the OMG CORBA 1.1 Object Request Broker. Also DOMF.
1680 > ORBELINE - The SMART Object Request Broker - PostModern Computing
1695 and Object Request Broker (ORB).
1819 HP's DOMF includes the object request broker, interface- definition-
1918 CORBA Implementation Descriptions: ORBELINE - The SMART Object Request Broker
1919 ORBeline is a complete implementation of OMG's Common Object Request
1939 of the Object Management Group's (OMG's) Common Object Request Broker
2160 Calls (RPC), Message-Oriented Middleware (MOM), and Object Request
2180 DOME also provides object services beyond the Object Request Broker
state
22 Encapsulation (or multi-methods, in which case the state is kept separate)
38 encapsulated state
61 Behavioral patterns : Chain-of-responsibility pattern, Command pattern, Interpreter pattern, Iterator pattern, Mediator pattern, Memento pattern, Observer pattern, State pattern, Strategy pattern, Template method pattern, Visitor pattern.
84 "An object has state, behavior, and identity; the structure and behavior of
194 definitions with classes (and only associate state and class with objects,
198 or shared state, otherwise idiosyncratic objects, a powerful and natural
217 also typically specifies non-shared state when used for representation.
383 respecify state by default.
384 Inherited parents can specify various flavors of state. Delegation languages
385 don't specify new state by default (to do so requires cloning), C-based (C++,
398 combinations of state and environment (sometimes with complex rules).
547 state "that a language is object-oriented if and only if it satisfies the
550 operations and a hidden local state.
594 Behavior is how an object acts and reacts, in terms of its state changes
597 can access the internal state of an object of that class to perform some
905 Polymorphism 1. State or condition of being polymorphous. 2. Cryall.
1452 State University, Atlanta, USA, 1992, 163 pages.
2333 This is an excellent summary of the state of the art in GC algorithms. This
2552 simply a special case of testing software which retains state
structure
1 Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, messaging, modularity, polymorphism, and inheritance. Many modern programming languages now support OOP, at least as an option. In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object-oriented programming the same word, "object", refers to a particular instance of a class)
7 Objects can be thought of as wrapping their data within a set of functions designed to ensure that the data are used appropriately, and to assist in that use. The object's methods will typically include checks and safeguards that are specific to the types of data the object contains. An object can also offer simple-to-use, standardized methods for performing particular operations on its data, while concealing the specifics of how those tasks are accomplished. In this way alterations can be made to the internal structure or methods of an object without requiring that the rest of the program be modified. This approach can also be used to offer standardized methods across different types of objects. As an example, several different types of objects might offer print methods. Each type of object might implement that print method in a different way, reflecting the different kinds of data each contains, but all the different print methods might be called in the same standardized manner from elsewhere in the program. These features become especially useful when more than one programmer is contributing code to a project or when the goal is to reuse code between projects.
8 Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming that had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately.
66 However, Niklaus Wirth (who popularized the adage now known as Wirth's law: "Software is getting slower more rapidly than hardware becomes faster") said of OOP in his paper, "Good Ideas through the Looking Glass", "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours" (contrast KISS principle).
84 "An object has state, behavior, and identity; the structure and behavior of
231 used when developing an overall program structure, that each component of a
266 whereby no method or object structure can be inferred in the general case.
270 of structure (instance variables), behavior (methods), and inheritance
271 (parents, or recursive structure and behavior) for objects. As pointed out
285 "A class is a set of objects that share a common structure and a common
484 class diagram, all routines and structure available in class Computer are
817 methodologies, such as the analysis (DFD's) to design (structure charts) to
914 specifies slightly different or additional structure or behavior for an object,
920 (parametric type), or a common structure), with this common structure being
931 of types; these types normally exhibit some common structure. Ad-hoc
933 different types (which may not exhibit a common structure) and may behave in
995 more than required. Since derived classes can inherit structure and behavior
2166 and its open platform structure accommodates future technologies.
appendix