home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-25 | 58.4 KB | 1,511 lines |
- Subject: Comp.Object FAQ Version 1.0.7 (10-27) Part 3/10
- Newsgroups: comp.object,comp.answers,news.answers
- From: Bob Hathaway <rjh@geodesic.com>
- Date: 29 Oct 1994 11:42:14 GMT
-
- Archive-name: object-faq/part3
- Last-Modified: 10/27/94
- Version: 1.0.7
-
- > ORBELINE - The SMART Object Request Broker
-
- ORBeline is a complete implementation of OMG's Common Object Request
- Broker Architecture (CORBA). ORBeline goes beyond the standard
- specification to provide a SMART communication framework allowing
- you to easily develop large distributed applications that are robust,
- scalable, flexible and maintainable. ORBeline incorporates PostModern's
- proven communication framework that links thousands of nodes.
-
- See Appendix E:65 for a complete description and anon FTP info.
-
-
- > Orbix
-
- Orbix
- Iona Technologies Ltd.
- 8-34 Percy Place
- Dublin 4
- Ireland
-
- The latest release of Orbix, Version 1.2, includes an Object Loader function
- for the first time, as well as an upgraded Interface Repository, a new
- approach to filtering, and more code examples to guide programmers.
-
- Orbix was launched in June 1993 as the first full and complete implementation
- of the Object Management Group's (OMG's) Common Object Request Broker
- Architecture (CORBA) standard. With Orbix, programmers can develop
- distributed, object oriented applications following a consistent and
- straightforward, standards-based model.
-
- With Orbix Version 1.2 IONA has added the ability to dynamically load objects
- at runtime through its Object Loader function. This enables developers to more
- easily integrate Orbix applications with existing data stores be they
- traditional flat file databases, relational databases or object oriented
- databases.
-
- The improved Interface Repository is an integral part of IONA's CORBA
- implementation. The Interface Repository operates as a dynamic browser which is
- populated with all objects or services available at runtime keeping programmers
- informed of the functions, attributes and characteristics of objects and
- services.
-
- In version 1.2 IONA has also extended the whole approach to filtering of
- requests, and has made it easier for users to integrate Orbix with their
- security systems providing for improved reliability of distributed systems
- built using Orbix. IONA has also extensively extended the number, and scope, of
- code examples it ships with the product to help developers learning how to use
- the system.
-
- IONA released Orbix for SunSoft Solaris and SunOS at the Object World
- exhibition in San Francisco, Calif., June 1993. Since then it has rolled
- out versions of Orbix for Microsoft Windows NT, Silicon Graphics IRIX and
- HP/UX. IONA demonstrated a version of Orbix for Microsoft Windows 3.1 at
- Object World in London, England last October. Orbix for Microsoft Windows
- 3.1 is now in beta. In January 1994, IONA and SunSoft Inc. signed an
- agreement to align their implementations of CORBA. The two companies
- demonstrated interoperability between IONA's Orbix running on Microsoft
- Windows 3.1 and SunSoft's Distributed Objects Everywhere (DOE) on Solaris.
-
- In addition Orbix-TP, integration with Tuxedo for transaction processing, has
- just entered beta testing. Work is underway on Orbix-FT, integration with
- the Isis distributed system, will deliver a fault-tolerant ORB.
-
- Paul Hickey, tel: +353-1-6686522
- Iona Technologies Ltd., fax: +353-1-6686573
- 8-34 Percy Place, email: pth@iona.ie
- Dublin 4
- Ireland
-
- Availability
- ------------
-
- The full Orbix availability and release schedule looks like:
-
- Operating System C++ Compiler Release
- Date
- -------------------------------------------------------
- SunOS 4.1 SPARCompiler 2.1 NOW
- SunOS 4.1 SPARCompiler 3.0.2 NOW
- SunOS 4.1 Lucid 3.1 NOW
- SunOS 4.1 GNU 2.5.8 NOW
- Solaris 2.x SPARCompiler 3.0.2 NOW
- Solaris 2.x SPARCompiler 4.0 NOW
- Solaris 2.x GNU 2.5.7 NOW
- IRIX 4.0.5H Native NOW
- IRIX 5.x Native NOW
- HP-UX Native NOW
- Microsoft Windows NT Visual C++ NOW
- Microsoft Windows NT Borland NOW
- Microsoft Windows 3.1 Visual C++ In Beta
- IBM AIX C Set++ 4th Qtr
- OSF/1 DEC C++ 4th Qtr
- SCO Native 4th Qtr
- UnixWare Computer Innovations 4th Qtr
- Ultrix DEC C++ 4th Qtr
-
- Release of Orbix on OS/2 is also imminent.
-
- Documents Available from IONA
- -----------------------------
-
- electronic mail server - server@iona.ie
- anonymous ftp file server - ftp ftp.iona.ie
- World Wide Web - http://www.iona.ie/
-
-
- > NCR 'Cooperative Frameworks' -- a Distributed Object Foundation
-
- From: Randy Volters <randy.volters@columbiasc.ncr.com>
- Subject: re-post: NCR Cooperative Frameworks (new phone no.)
-
- November 19, 1993
-
- NCR ANNOUNCES BETA AVAILABILITY
- OF 'Cooperative Frameworks' --
- a Distributed Object Foundation
-
- Product Background -
- NCR Cooperative Frameworks(TM) were first released for sale
- in 10/1991 as "the frameworks" part of the NCR COOPERATION(TM)
- product, and are based on NCR's submission to OMG.
- Cooperative Frameworks release 3.0 makes the product
- available apart from COOPERATION.
-
- Product Description -
- Cooperative Frameworks is a distributed object foundation
- for building computing applications and services on networks
- of heterogeneous computers.
-
- Cooperative Frameworks consists of an integrated suite of
- C++ class libraries that:
-
- - defines and implements a comprehensive enterprise
- architecture and methodology for creating
- distributed implementations of C++ classes over
- networks
-
- - allows customers to build and use object services
- over a network
-
- - supports TCP/IP, NetBIOS, Lan Manager NetBEUI and
- OSI protocols, X.25
-
- NCR Cooperative Frameworks currently has two portable ORB
- toolkits (others are planned for future release) --
- (1) C++ ORB toolkit consisting of over 300 C++ classes and
- runtime libraries
-
- (2) CORBA 1.1 toolkit Both are for:
-
- - wrapping existing databases and legacy
- applications for improved availability
- and maintainability on systems of heterogeneous
- computers, operating systems and networks
-
- - building next-generation, object-oriented,
- distributed computing applications for
- networks of heterogeneous computers, operating
- systems and network operating systems
-
- Cooperative Frameworks come with predefined object services
- for implementing distributed systems:
-
- - Naming - network implementation of X.500 directory
- provides object naming service
-
- - Logging - provides local and server based error
- logging
-
- - Fine-grain Data Management - class libraries are
- designed around fine grained objects, developers can
- build distributed objects as large or as small as
- needed
-
- - Persistence - the same object stream model for
- communication between internal ORB functions is used to
- support object persistence. Persistent objects can be
- files, relational or object databases
-
- - Dynamic Service Location - provides a mechanism for
- registering services and entities in a distributed
- system and invoking targeted services based on service
- characteristics -- rather than names
-
- - Dynamic Service Activation - provides a mechanism for
- object activation when method invocations are required,
- and deactivation when not needed
-
- - Event Service (Release 3.1) - Implements an OMG/JOSS
- compliant event service
-
- - Network Configuration Tools - simplifies creation of
- directory entries required for cross domain operation
- in a multiple domain heterogeneous network.
-
- NCR Cooperative Frameworks run on multiple UNIX platforms,
- including HP-UX, Sun Solaris, NCR 3000 UNIX and NCR
- StarServer UNIX SVR4; and on MS Windows 3.1. Cooperative
- Frameworks has been demonstrated on Novell NetWare v3.11,
- and was originally developed on MS OS/2 v1.x. Development
- environments supported include CFRONT and C++ Workbench from
- NCR, HP Softbench Sun SPARCworks and Borland IDE.
-
- Implementation - implementation is for client/server system
- architectures as a set of DLL and shared libraries
-
- Languages used for IDL mapping - IDL bindings for C, (or
- object services can be implemented directly in C++)
-
- Release date - Release 3.0 is available now to early
- developers with general availability set for December, 1993;
- Release 3.1 will be available to early developers 1Q 1994
- with general availability set for 2Q 1994
-
- Product interoperability - Full interoperability between NCR
- Cooperative Framework implementations on supported platforms
- is available now; interoperability with selected CORBA 1.1
- ORBs and CORBA 2.0 ORBs is planned
-
- Company Name -
- NCR Corporation (An AT&T Company)
-
- Address -- Software Products Division-Columbia
- 3245 Platt Springs Road
- West Columbia SC 29170
-
- Phone
- (803) 939-7500
- FAX
- (803) 939-7745
- Contact Name
- Randy Volters, Sr. Product Manager
- Cooperative Frameworks
- Email: Randy.Volters@ColumbiaSC.NCR.COM
- Ext. 7774
-
- Company Description -
- NCR, AT&T's computer business, brings computing and
- communications solutions together to provide people easy
- access to information and to each other -- anytime,
- anywhere.
-
-
- > Suite Software SuiteDOME
-
- Product: DOME - Distributed Object Management Environment
-
- Company: Object Oriented Technologies Ltd
- 118-120, Warwick Street, Leamington Spa, CV32 4QY England
-
- Contact: Chris Nugent, email: chris@rtc.co.uk
- tel: +44 (0)926 313133 fax: +44 (0)926 422165
-
- Short Description:
- DOME provides heterogenous distribution across many platforms
- and networks, including:
- UNIX, Windows, Windows NT, OS/2, OSF/1 (AXP), OpenVMS,
- SunOs, Solaris, HP-UX, SGI Unix, Stratus FTX,
- TCP/IP, NetBIOS, XTI
- As a fully peer-to-peer product DOME can be used to build systems
- using any combination of the above.
-
- Long Description:
- DOME is an ORB toolkit for the production of user-configured
- ORBs and servers. It is a multi-threaded high performance ORB
- suitable for use in large scale commercial systems and embedded
- real-time systems.
-
- DOME is non-intrusive, meaning that the application development
- is separated from the means of distribution and the problem of
- distributed object management; this allows the application to
- be built and tested on a single machine using local resources.
- Existing software can also be incorporated easily, providing
- integration for legacy systems.
-
- DOME is constructed as a C++ class library, from which ORBs
- can be configured and constructed to best suit the runtime
- environment. This provides great flexibility since new classes
- can be derived from existing ones and the resulting configurations
- implemented to user-specific requirements.
-
- Database distribution can be as simple persistent files,
- RDBMSs, OODMS, or a combination of these.
-
- DOME has a CORBA-conformant interface, and is CORBA 1.0 compliant
- with the following divergences -
- additions:
- - full C++ binding,
- - integral support for GUI development,
- - network monitoring & analysis,
- - transaction management,
- - location broking,
- - enhanced security;
- ommissions:
- - dynamic invocation, which is seen as detrimental to performance
- and network security; however, DOME does allow stream operators
- to perform the same function.
-
- DOME was first released in August 1993; version 2 in May 1994.
-
-
- 3.8.7 Books, Articles, And Literature
- --------------------------------------
-
- This section is expected to grow considerably in the future.
-
- "Distributed Object Computing With CORBA", C++ Report, July/August 1993
-
- The Object Database Standard: ODMG-93
- edited by: R.G.G. Cattell
- published by Morgan Kaufmann Publishers, San Mateo, California
- [Covers CORBA standards with respect to OODBs]
-
-
- 3.9) Why Is Garbage Collection a Good Thing?
- ---------------------------------------------
-
- From: Paul Johnson (paj@gec-mrc.co.uk)
-
- Garbage collection (GC) is a facility in the run-time system associated with a
- language which will automatically reclaim objects which are no longer used.
- OO Languages which require garbage collection include Eiffel, Smalltalk and
- CLOS. C and C++ can have garbage collection retrofitted (see [3] below).
- [Ada has switchable GC, too -bob]
-
- Without GC programmers must explicitly deallocate dynamic storage when
- it is no longer needed (in C this is done by a call to free(3)).
- There are a number of problems with this:
-
- 1: Bugs due to errors in storage deallocation are very hard to find,
- although products are available which can help.
-
- 2: In some circumstances the decision about whether to deallocate
- storage cannot be made by the programmer. Drawing editors and
- interpreters often suffer from this. The usual result is that the
- programmer has to write an application-specific garbage collector.
-
- 3: An object which is responsible for deallocating storage must be
- certain that no other object still needs that storage. Thus many
- modules must co-operate closely. This leads to a tight binding
- between supposedly independent modules.
-
- 4: Libraries with different deallocation strategies are often
- incompatible, hindering reuse.
-
- 5: In order to avoid problems 3 and 4, programmers may end up copying
- and comparing whole objects rather than just references. This is a
- particular problem with temporary values produced by C++ overloaded
- operators.
-
- 6: Because keeping track of storage is extra work, programmers often
- resort to statically allocated arrays. This in turn leads to
- arbitrary restrictions on input data which can cause failure when
- the assumptions behind the chosen limits no longer apply. For
- instance many C compilers limit expression nesting, identifier
- length, include file nesting and macro stack depth. This causes
- problems for programs that generate C.
-
- One partial solution to a lack of GC is reference counting. In this
- scheme each object keeps a count of references to it. When this count
- drops to zero the object is automatically deallocated. However this
- is inefficient (swapping two references will result in three
- decrements, three increments and six comparisons) and cannot reclaim
- circular data structures. Two systems that use a reference count GC
- are the Interviews C++ graphics library and the Unix file system (the
- link count).
-
- Opponents of GC reply that it introduces an overhead which is
- unacceptable in some applications. However the overhead of manual
- storage deallocation is probably as high as GC. GC algorithms are
- also available with good real-time behaviour.
-
- [Further, GC can perform compaction improving locality of reference.]
-
- Further Reading:
-
- [1] "Object-Oriented Software Construction" by Meyer puts the argument
- for GC.
-
- [2] "Uniprocessor Garbage Collection Techniques," by Paul R. Wilson,
- in Memory Management (proceedings of 1992 Int'l Workshop on Memory
- Management, Sept. 1992, St. Malo, France, Yves Bekkers and Jacques Cohen,
- eds.), Springer Verlag Lecture Notes in Computer Science #637.
-
- This is an excellent summary of the state of the art in GC algorithms. This
- and other papers about garbage collection are available in PostScript via
- anonymous ftp (cs.utexas.edu:pub/garbage/gcsurvey.ps. [See APPENDIX E]
-
- [3] "Garbage Collection in an Uncooperative Environment" by Boehm and
- Weiser. Software --- Practise and Experience vol 18(9), pp 807-820.
- Sept 1988. This describes GC in C and C++.
-
-
- 3.10) What Can I Do To Teach OO To The Kids?
- ---------------------------------------------
-
- Smalltalk (in its original 1972 version) was initially intended to make
- computer programming easy enough for children. The idea was that manipulating
- objects was something more intuitive and natural than coding procedures.
-
- Other entries or suggestions are welcome, please send to the author of the FAQ.
-
-
- 3.11) What Is Available On Object-Oriented Testing?
- ---------------------------------------------------
-
- [This entry was donated by Doug Shaker and is certainly a FAQ]
-
- Testing of Object-Oriented Programming (TOOP) FAQ/Resource Summary
-
- Posted to comp.object, comp.lang.c++, comp.lang.smalltalk and
- comp.software.testing.
-
- Last revised on 93.10.27. The most notable change is in the additions
- to the Software section. Also a couple of articles added to the
- Written Material section.
-
-
- > What?
-
- This is a summary of resources on the Testing of Object-Oriented
- Programming that have been mentioned to me over the net, in email,
- or other means. Sections include Written Material, Courses, and
- Software. It is kind of like an FAQ, though it isn't organized
- that way.
-
- > Who?
-
- I work for a Unix software house, Qualix Group, in the US. Here is
- my sig:
- - Doug Shaker
- voice: 415/572-0200
- fax: 415/572-1300
- email: dshaker@qualix.com
- mail: Qualix Group
- 1900 S. Norfolk St., #224
- San Mateo, CA 94403
- I am NOT a researcher on the testing of object-oriented programming.
- I just collate the stuff that is sent to me by people who REALLY know
- something. See the section "ACKs" at the end.
-
- I just think it is important.
-
- > Why?
-
- Why is this important? If classes are really to be reused in
- confidence, they must be blatantly correct. The classes must be easily
- testable during initial evaluation by the client programmer. They must
- also be testable under different OS configurations, different compiler
- optimizations, etc. This means that testing modules must be
- constructed in a way which is recognized as correct and the modules
- must be shipped with the class libraries.
-
- As soon as one major class library vendor starts to ship real test code
- with their libraries, all of the other vendors will be forced, by
- market pressure, to do so as well, or face market share erosion. Think
- about it. If you had to recommend a class library to a committee that
- was choosing a basis for the next five years of work, wouldn't you feel
- safer with a class library that could be auto-tested in your
- environment?
-
-
- > Written Material
-
- Berard, Edward. Essays on Object-Oriented Software Engineering.
- Prentice-Hall, Englewood Cliffs, NJ. $35.
- This book has two chapters on testing of object-oriented software,
- focusing on how to do it.
-
- Berard, Edward. Project Management Handbook. Must be purchased
- direct from Berard Software Engineering, Ltd., 902 Wind River
- Lane, Suite 203, Gaithersburg, Maryland 20878. $225.
- The book focuses on the management of OOP projects. It
- includes one chapter on testing OO software and one chapter
- on quality assurance.
-
- Bezier, Boris, "Software Testing Techniques", 2nd edition, Van Nostrand
- Reinhold, 1990, 503pp, $43, ISBN 0-442-20672-0. While this is
- not specifically about testing of OOP, it is mentioned so often
- by so many people as a definitive software testing work, that
- I have to mention it anyway.
-
- Cheatham Thomas J., and Lee Mellinger, "Testing Object-Oriented
- Software Systems", Proceedings of the 18th ACM Annual Computer
- Science Conference, ACM, Inc., New York, NY, 1990, pp. 161-165.
-
- Doong, Roong-Ko and Phyllis G. Frankl, "Case Studies on Testing
- Object-Oriented Programs", Proceedings of the 4th Symposium on
- Testing, Analysis, and Verification (TAV4), 1991, ACM, Inc.,
- New York, NY, 1991, pp. 165-177.
-
- Fiedler, Steven P., "Object-Oriented Unit Testing", Hewlett-Packard
- Journal, April, 1989, pp. 69-74.
-
- Firesmith, D.G., "Testing Object-Oriented Software", Proceedings
- of 11th. TOOLS USA Conference, Santa Barbara, Aug 1993, pp 407-426.
-
- Frankl, Phyllis G. and Roong-Ko Doong, "Tools for Testing
- Object-Oriented Programs", Proceedings of the 8th Pacific
- Northwest Conference on Software Quality, 1990, pp. 309-324.
- One author can be reached at pfrankl@polyof.poly.edu.
-
- Graham, J.A., Drakeford, A.C.T., Turner, C.D. 1993. The Verification,
- Validation and Testing of Object Oriented Systems, BT Technol
- J. Vol 11, No 3. One author's email address is
- jgraham@axion.bt.co.uk.
-
- Harrold, Mary Jean, John D. McGregor, and Kevin J. Fitzpatrick,
- "Incremental Testing of Object-Oriented Class Structures",
- International Conference on Software Engineering, May, 1992,
- ACM, Inc., pp. 68 - 80.
-
- Hoffman, Daniel and Paul Strooper. A Case Study in Class Testing.
- To be Presented at the IBM Center for Advanced Studies Fall
- Conference, October 1993, Toronto. Email addresses for authors
- are dhoffman@csr.uvic.ca and pstropp@cs.uq.oz.au. Describes an
- approach to testing which the authors call Testgraphs. An
- example is worked out in C++ which tests a commercial class.
-
- Hoffman, D. M. A CASE Study in Module Testing. In Proc. Conf. Software
- Maintenance, pp. 100-105. IEEE Computer Society, October 1989.
-
- Hoffman, D.M. and P.A. Strooper. Graph-Based Class Testing. In
- 7th Australian Software Engineering Conference (to appear), 1993.
-
- Klimas, Edward "Quality Assurance Issues for Smalltalk Based Applications",
- The Smalltalk Report, Vol. 1, No. 9, pp.3-7. The author's
- email address is "ac690@cleveland.freenet.edu".
-
- Lakos, John S. "Designing-In Quality in Large C++ Projects" Presented
- at the 10th Annual Pacific Northwest Software Quality Conference,
- Portland, Oregon, October 21, 1993. Abstract:
- The focus of this paper is on ensuring quality by
- designing software that avoids acyclic component
- dependencies. This in-turn permits incremental,
- hierarchical testing. The importance of good physical
- design becomes a key factor only for large and very
- large projects. Intuition gained from smaller projects
- leads to errors in large designs. Compile-coupling
- ("Insulation") is also discussed.
- Copies of the postscript file can be obtained by sending email
- to "john_lakos@warren.mentorg.com".
-
- Leavens, G. T., "Modular Specification and Verification of
- Object-Oriented Programs", IEEE Software, July 1991, pp. 72-80.
-
- Love, Tom. Object Lessons. SIGS Books, 588 Broadway #604, New York, NY
- 10012. $49.
- This book eloquently elucidates the need for testing of object-
- oriented code and has a chapter on how it was done at Stepstone
- during the first release of their initial class library.
-
- Marick, Brian. The Craft of Software Testing, Prentice-Hall, in press.
- Makes the argument that testing of object-oriented software is
- simply a special case of testing software which retains state
- and which is reused. The author can be reached at
- info@testing.com.
-
- Narick, Brian. "Testing Software that Reuses", Technical Note 2, Testing
- Foundations, Champaign, Illinois, 1992. Copies may be obtainable
- via email. The author can be reached at info@testing.com.
-
- Murphy, G.C., Wong, P. 1992, Towards a Testing Methodology for
- Object Oriented Systems, M.P.R Teltech Ltd. A poster at the
- Conference on Object Oriented Programming Systems, Languages
- and Applications ACM. Copies of this paper can be obtained
- through townsend@mprgate.mpr.ca.
-
- Murphy, G. and P. Wong. Object-Oriented Systems Testing Methodology: An
- Overview. Techical Report TR92-0656, MPR Teltech Ltd., October
- 1992.
-
- Perry, D.E. and G.E. Kaiser, "Adequate Testing and Object-Oriented
- Programming", Journal of Object-Oriented Programming,
- 2(5):13-19, Jan/Feb 1990.
-
- Purchase, Jan A. and Russel L. Winder, "Debugging tools for
- object-oriented programming", Journal of Object-Oriented
- Programming, June, 1991, Vol. 4, No. 3, pp. 10 - 27.
-
- Smith, M. D. and D. J. Robson, " A Framework for Testing Object-Oriented
- Programs", JOOP, 5(3):45-53, June 1992.
- Describes ways in which the usual approach to software testing
- could be adapted for object-oriented software.
- This paper, or one with the same title and authors, is
- available by anonymous ftp from vega.dur.ac.uk as
- "/pub/papers/foot.dvi".
-
- Smith, M. D. and D. J. Robson, "Object-Oriented Programming - the
- Problems of Validation", Proceedings of the 6th International
- Conference on Software Maintenance 1990, IEEE Computer Society
- Press, Los Alamitos, CA., pp. 272-281.
-
- Taylor, David. "A quality-first program for object technology", Object
- Magazine, Vol. 2, No. 2, July-August 1992, pp17-18. SIGs
- Publications. The article talks some about why testing is
- important for OOP and describes one quality program.
-
- Theilen, David. "No Bugs. Delivering error free code in C and C++.",
- Addison-Wesley, 1992, ISBN:0-201-60890-1.
-
- Turner, C. D. and D. J. Robson, "The Testing of Object-Oriented Programs",
- Technical Report TR-13/92, Computer Science Division, School of
- Engineering and Computer Sciences (SECS), University of Durham,
- England.
- Includes a survey of existing literature on testing of OO
- programs. Testing of OOP is compared with traditional software
- testing. A state-based approach is described.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "toop.ps.Z" for A4 paper and "toopus.ps.Z" for
- US letter paper formatting.
-
- Turner, C. D. and D. J. Robson, "A Suite of Tools for the State-Based
- Testing of Object-Oriented Programs", Technical Report
- TR-14/92, Computer Science Division, School of Engineering and
- Computer Science (SECS), University of Durham, Durham,
- England. Describes a series of tools for the generation and
- execution of test cases for OOP. These tools assume a
- state-based testing approach.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "tools.ps.Z" for A4 paper formatting or get
- "toolsus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "Guidance for the Testing of Object-
- Oriented Programs", Technical Report TR-2/93, Computer Science
- Division, School of Engineering and Computer Science (SECS),
- University of Durham, Durham, England. Discusses different
- methods of making class declarations and the implications of
- those methods for testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "guide.ps.Z" for A4 paper formatting or get
- "guideus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "State-Based Testing and Inheritance",
- Technical Report TR-1/93, Computer Science Division, School of
- Engineering and Computer Science (SECS), University of Durham,
- Durham, England.
- Discusses the implications of inheritance for testing,
- particularily incremental testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get toopinht.ps.Z" for A4 paper formatting or get
- "toopinhtus.ps.Z" for US letter formatting.
-
- Wong, P. Automated Class Exerciser (ACE) User's Guide. Technical
- Report TR92-0655, MPR Teltech Ltd., September 1992.
-
- > Courses
-
- Berard Software Engineering, Inc. teaches a seminar on Testing of
- Object-Oriented Software (TOOS). The next one scheduled that I know of
- is November 8-12, in Washington. Call 301-417-9884 for details.
-
- Quality Fractals, Inc. has a course called "Testing Object-Oriented
- Software". Contact: 508-359-7273 (Box 337, Medfield, MA 02052). The
- course is taught by Shel Siegel of YESS!, Inc. Contact: 916-944-1032.
-
-
- > Software
-
- There is a smalltalk class library in the Univ. of Illinois archives
- which includes a simple Tester class written by Bruce Samuelson
- (bruce@utafll.uta.edu). It is a general superclass for application
- specific classes that test non-interactive objects such as trees,
- collections, or numbers. It is not suitable for testing user interface
- components such as windows, cursors, or scroll bars. The filein
- includes Tree classes, Tester itself, and subclasses of Tester that are
- used to validate the Tree classes. For ParcPlace Smalltalk (ObjectWorks
- 4.1 and VisualWorks 1.0). To get it ftp the file
- "/pub/st80_vw/TreeLW1.1" from st.cs.uiuc.edu.
-
- IPL Ltd. (in the UK) has a testing tool called Cantata which allows for
- testing C++, but as far as I am able to determine, it has no special
- features for C++ testing. From the product literature:
- Cantata allows testing to be performed in an intuitive way
- making the tool exceptionally easy to use and productive in
- operation. Cantata is suitable for testing software written in
- either C or C++.
-
- Cantata provides comprehensive facilities for all forms of
- dynamic testing, including: functional testing, structural
- testing, unit testing and integration testing. Cantata has been
- specifically designed to operate in both host and target
- systems and so allow full portability of tests between these
- environments.
- For more information contact IPL:
- IPL Ltd.
- Eveleigh House, Grove Street,
- Bath BA1 5LR
- UK
- (0225) 444888
- (0225) 444400 (FAX)
- email: shaun@iplbath.demon.co.uk
-
- TestCenter from CenterLine will do coverage testing of C++ (and C)
- code. Also does some memory debugging (similar to Purify) and regression
- testing. Highlights from CenterLine literature:
- *Automatic run-time error-checking on executables to enhance quality
- *Automatic memory leak detection on executables to optimize memory use
- *Graphical test coverage to highlight any code not executed during test runs
- *Intuitive GUI for easy test analysis
- *Programmatic interface to output files and cumulative code coverage
- to support batch-mode and regression testing
- *No recompilation needed, resulting in quick turnaround
- *Complete C and C++ language support
- *Integration with leading programming tools for maximum productivity gains
-
- MicroTech Pacific Research (mpr.ca) has a C++ class testing tool called
- ACE (Automated Class Exerciser) which is available under non-disclosure
- agreement. It is not currently for sale. If you are interested,
- contact Paul Townsend, townsend@mprgate.mpr.ca.
-
- Software Research Inc. (625 Third St, San Francisco, CA 94107-1997,
- voice: 1-415-957-1441, email: info@soft.com) has a coverage tool for C++
- that is called tcat++. It is an extension of SRI's tcat program.
-
- Quality Assured Software Engineering (938 Willowleaf Dr., Suite 2806,
- San Jose, CA 95128, voice: 1-408-298-3824 ) has a coverage tool for
- C and C++ called MetaC. It also dones some syntax checking and memory
- allocation checking.
-
- A group of volunteers is building a C++ test harness for the automated
- testing of C++, C and Perl programs. The system is called ETET (Extended
- Test Environment Toolkit). To join the group of volunteers, send email to
- etet_support@uel.co.uk
- The software is available via anonymous FTP from bright.ecs.soton.ac.uk
- (152.78.64.201) as "/pub/etet/etet1.10.1.tar.Z". They are looking for
- other FTP sites - sned email to the above address if you can provide
- one. This is a beta release and _should_ compile on any POSIX.1 system.
- As much of this work is being done by SunSoft, my guess is that the
- software will have the fewest problems on SunOS or Solaris releases.
-
- > ACKs
-
- Thanks to the following for helping assemble this list:
- Benjamin C. Cohen, bcohen@scdt.intel.com
- Brian Marick, marick@hal.cs.uiuc.edu
- Bruce Samuleson, bruce@utafll.uta.edu
- Daniel M. Hoffman, dhoffman@uvunix.uvic.ca
- Edward Klimas, ac690@cleveland.freenet.edu
- John Graham, J.Graham@axion.bt.co.uk
- Jim Youlio, jim@bse.com
- Jeffery Brown, jeffrey.brown@medtronic.com
- Lars Jonsson, konlajo@etna.ericsson.se
- Manfred Scheifert, ch_schie@rcvie.co.at
- Mark Swanson, mswanson@mechmail.cv.com
- Mary L. Schweizer, mary@gdwest.gd.com
- Michael Einkauf, Michael_Einkauf@iegate.mitre.org
- Paul Townsend, townsend@mprgate.mpr.ca
- Phyllis G. Frankl, pfrankl@polyof.poly.edu
- Rachel Harrison, rh@ecs.soton.ac.uk
- Risto Hakli, rkh@tko.vtt.fi
- Russ Hopler, russ@bse.com
- Stephane Barbey, barbey@di.epfl.ch
- Tony Reis, tonyr@hpsadln.sr.hp.com
- Yawar Ali, yali@bnr.ca
-
-
- 3.12) What Distributed Systems Are Available?
- ---------------------------------------------
-
- The following post helps to provide some answers with at least a partial list.
- See also Appendix E.
-
- From: rmarcus@bcsaic.boeing.com (Bob Marcus)
- Newsgroups: comp.object,comp.client-server
- Subject: Distributed Computing Products Overview
- Date: 17 Sep 93 00:02:40 GMT
- Organization: Boeing Computer Services
-
- DISTRIBUTED COMPUTING PRODUCTS OVERVIEW
-
- There was a recent posting concerning the relationship between OMG's CORBA
- and Distributed Transaction Processing Monitors. In general, there is a lot of
- uncertainty as to how the various distributed computing tools, products and
- environments might work together. Below is the outline of an eight-page
- posting to the Corporate Facilitators of Object-Oriented Technology (CFOOT)
- mailing list addressing these issues. Let me know if you would like a copy
- of the posting and/or to be added to the CFOOT mailing list.
-
- Bob Marcus
- rmarcus@atc.boeing.com
- -----------------------------------------------------------------------
- SOME GENERAL REFERENCES FOR ADDITIONAL INFORMATION
- -----------------------------------------------------------------------
- MULTIPROTOCOL NETWORK TRANSPORTS
-
- Peer Logic (PIPES)
- ATT (Transport Layer Interface)
- -----------------------------------------------------------------------
- MICROKERNELS
-
- OSF(Mach)
- Chorus Systems (Chorus)
- Microsoft (NT)
- -----------------------------------------------------------------------
- REMOTE PROCEDURE CALLS
-
- NobleNet (EZ-RPC)
- Netwise (Netwise-RPC)
- ATT/Sun (TI-RPC)
- OSF (DCE/RPC)
- -----------------------------------------------------------------------
- CONVERSATIONAL PROGRAMMING
-
- IBM(Common Programming Interface-Communications)
- -----------------------------------------------------------------------
- MESSAGING PRODUCTS
-
- System Strategies/IBM (MQ Series)
- Horizon Strategies (Message Express)
- Covia Systems(Communications Integrator)
- Momentum Software(X-IPC)
- Creative System Interface (AAI)
- Digital (DECmessageQ)
- HP (Sockets)(BMS)
- IBM (DataTrade)(DAE)
- Suite Software (SuiteTalk)
- Symbiotics (Networks)
- -----------------------------------------------------------------------
- PUBLISH AND SUBSCRIBE MESSAGING
-
- Sun(Tooltalk)
- Teknekron (Teknekron Information Bus)
- ISIS(Distributed News)
- Expert Database Systems (Rnet)
- ----------------------------------------------------------------------
- DISTRIBUTED COMPUTING ENVIRONMENTS
-
- OSF/DCE
- ISIS(Distributed Toolkit)
- -----------------------------------------------------------------------
- TRANSACTION PROCESSING MANAGERS
-
- Unix Systems Lab (Tuxedo)
- Information Management Company (Open TransPort)
- NCR (TopEnd)
- Transarc (Encina)
- IBM/HP/Transarc (Open CICS)
- -----------------------------------------------------------------------
- DISTRIBUTED WORKSTATION EXECUTION SYSTEMS
-
- Aggregate Systems (NetShare)
- Platform Computing(Utopia)
- ISIS(Resource Manager)
- -----------------------------------------------------------------------
- OBJECT REQUEST BROKERS
-
- Hyperdesk (Distributed Object Manager)
- IBM Distributed System Object Model(DSOM)
- Microsoft (Distributed OLE)
- Iona Technologies Ltd. (Orbix)
- BBN (Cronus)
- ISIS (RDOM)
- Qualix (NetClasses)
- Symbiotics (Networks!)
- Digital(ACA Services)
- Suite Software (SuiteDOME)
- -----------------------------------------------------------------------
- SYSTEM MANAGEMENT
-
- OSF (Distributed Management Environment)
- Legent
- Digital Analysis (HyperManagement)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Texas Instruments (Information Engineering Facility)
- HP (SoftBench)
- Digital (COHESIONworX)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Independence Technologies (iTRAN)
- Intellicorp(Kappa)
- ISIS Distributed Systems (RDOM)
- Early, Cloud & Company (Message Driven processor)
- Expersoft(XShell)
- Cooperative Solutions(Ellipse)
- -----------------------------------------------------------------------
-
-
- 3.13) What Is The MVC Framework?
- --------------------------------
-
- MVC stands for Model-View-Controller. This framework was originally adopted
- in Smalltalk to support Graphical User Interfaces. Views support graphical
- interfacing, controllers handle interaction, and models are the application
- objects. See [Krasner 88] and [LaLonde 90b].
-
- From: Carl Petter Swensson <cepe@taskon.no>
- Prof. Trygve Reenskaug is generally cited as being the creator of
- the MVC concept. He worked with the Smalltalk group at Xerox PARC
- as a visiting scientist in 78/79. During this stay at Xerox PARC
- he developed the MVC. I know him well and have talked to him about
- this. He confirms it, although stating that it was a collaborative
- effort at Xerox PARC.
-
- The implementation of MVC in Smalltalk-80 has since been further
- developed by ParcPlace Systems.
-
- He has worked with Smalltalk in a commercial and research
- environments since then. His group at the Centre for Industral
- Research in Oslo (now part of the SINTEF group) had the only
- Smalltalk-78 implementation outside Xerox PARC. He is now working
- with Taskon AS.
-
- The ideas that initially gave MVC has been developed further and
- is the basis of the work Trygve is currently doing on the
- OOram methodology.
-
-
- 3.14) What is Real-Time?
- ------------------------
-
- Real-time is our linear extrapolation/perception of imaginary time (along a
- quantum wave function (OTU) in ten dimensions, of course).
-
- [This section is YTBI]
-
-
- 3.15) What Is Available on OO Metrics?
- --------------------------------------
-
- This section is still building.
-
- [Berard 93] contains an elaborate bibliography and section on OO metrics.
- [Booch 94] also contains some coverage.
-
- Also:
- Object Oriented Software development
- Mark Lorenz ISBN 0-13-726928-5
- Prentice Hall
-
- Software Metrics
- Grady-Caswell ISBN 0-13-821844-7
- Prentice Hall
-
- Measuring Software Design Quality
- Card-Glass ISBN 0-13-568593-1
- Prentice Hall
-
- From: trilk@informatik.tu-muenchen.de (Joern Trilk)
- Newsgroups: comp.object,comp.lang.c++,comp.lang.smalltalk,comp.databases.object
- Subject: Re: In search of OO Metrics
- Date: 20 Jun 1994 14:29:27 GMT
- Organization: Technische Universitaet Muenchen, Germany
-
- >...
- Here are some references:
-
- @article{inheriting:1993,
- author = {G. Michael Barnes and Bradley R. Swim},
- title = {Inheriting software metrics},
- journal = {JOOP},
- year = {1993},
- month = {Nov./Dec.},
- volume = {6},
- number = {7},
- pages = {27-34}
- }
-
-
- @article{a-new-metr:1993,
- author = {J.-Y. Chen and J.-F. Lu},
- title = {A new metric for object-oriented design},
- journal = {Information and Software Technology},
- year = {1993},
- month = apr,
- volume = {35},
- number = {4},
- pages = {232-240}
- }
-
-
- @inproceedings{towards-a-:1991,
- author = {Shyam R. Chidamber and Chris F. Kemerer},
- title = {Towards a Metrics Suite for Object Oriented Design},
- booktitle = {OOPSLA '91 Proceeedings},
- year = {1991},
- pages = {197-211}
- }
-
-
- @inproceedings{software-m:1992,
- author = {J. Chris Coppick and Thomas J. Cheatham},
- title = {Software Metrics for Object-Oriented Systems},
- booktitle = {CSC '92 Proceedings},
- year = {1992},
- pages = {317-322}
- }
-
-
- @inproceedings{some-metri:1991,
- author = {B. Henderson-Sellers},
- title = {Some metrics for object-oriented software engineering},
- booktitle = {TOOLS Proceedings},
- year = {1991},
- pages = {131-139}
- }
-
-
- @article{object-ori:1993,
- author = {Wei Li and Sallie Henry},
- title = {Object-Oriented Metrics that Predict Maintainability},
- journal = {J. Systems Software},
- year = {1993},
- volume = {23},
- pages = {111-122}
- }
-
-
- @inproceedings{workshop-r:1992,
- author = {Teri Roberts},
- title = {Workshop Report - Metrics for Object-Oriented Software Development},
- booktitle = {OOPSLA '92 (Addendum to the Proceedings)},
- year = {1992},
- pages = {97-100}
- }
-
-
- @techreport{softwareme:1991,
- author = {A. Buth},
- title = {Softwaremetriken f{\"u}r objekt-orientierte Programmiersprachen}, institution = {Gesellschaft f{\"u}r Mathematik und Datenverarbeitung},
- year = {1991},
- month = jun,
- number = {545},
- type = {Arbeitspapiere der GMD}
- }
-
-
- The Software Engineering FAQ lists the following references concerning
- metrics for object-oriented systems:
-
- Date: 26 Jan 1993 Originally collected by: ZUSE%DB0TUI11.BITNET@vm.gmd.de
- (Horst Zuse)
-
- a. Morris Kenneth L. Metrics for Object-Oriented Software Development
- Environments (master's thesis). 1989, MIT.
- b. Rocacher, Daniel: Metrics Definitions for Smalltalk. Project ESPRIT 1257,
- MUSE WP9A, 1988.
- c. Rocacher, Daniel: Smalltalk Measure Analysis Manual. Project ESPRIT 1257,
- MUSE WP9A, 1989.
- d. Lake, Al: A Software Complexity Metric for C++. Annual Oregon Workshop on
- Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
- e. Bieman, J.M.: Deriving Measures of Software Reuse in Object Oriented
- Systems. Technical Report #CS91-112, July 1991, Colorado State Universty,
- Fort Collins/ Colorado, USA.
-
- Hope this helps,
- Joern
-
- ----------------------------------------------------------------------
- Joern Trilk Phone: ++49-89-2105-2391
- Institut fuer Informatik (H1) Fax: ++49-89-2105-5296
- TU Muenchen Email: trilk@informatik.tu-muenchen.de
- 80290 Muenchen
- ----------------------------------------------------------------------
-
-
- SECTION 4: COMMONLY ASKED LANGUAGE SPECIFIC QUESTIONS
- ======================================================
-
- 4.1) What is Downcasting?
- --------------------------
-
- Downcasting is the term used in C++ for casting a pointer or reference to
- a base class to a derived class. This should usually be checked with an
- embedded dynamic typing scheme if such a scheme is not present in the
- language, such as with a typecase (Modula-3) or inspect (Simula) construct.
- In C++, it is even possible to use conversion functions to perform some
- checks, although the proposed RTTI will perform checked downcasting as
- its primary ability.
-
-
- 4.2) What are Virtual Functions?
- ---------------------------------
-
- Look under "Dynamic Binding" and "Polymorphism".
-
-
- 4.3) Can I Use Multiple-Polymorphism Or Multi-Methods In C++?
- ---------------------------------------------------------------
-
- Yes, but you'll need to embed a dynamic typing scheme to do it. With dynamic
- types in place, an overriding method in a derived class can explicitly check
- argument types in a switch statement and invoke the desired method emulating
- multiple-polymorphism [See Coplien 92].
-
- For true CLOS multi-methods, the above technique implemented as a base function
- (CLOS defgeneric), switching to specialized functions (CLOS methods, made
- friends of all arguments) will provide the functional calling syntax, multiple-
- polymorphism and access to parameters found in CLOS. This can require some
- complex switching, which is somewhat mitigated when multiple-polymorphism
- is implemented with virtual functions.
-
- Future FAQs should contain more detail.
-
-
- 4.4) Can I Use Dynamic Inheritance In C++?
- -------------------------------------------
-
- Yes, [Coplien 92] describes a scheme where a class can contain a pointer to
- a base class that can switch between its derived classes, providing a limited
- form. Earlier chapters contain entries on bypassing C++'s message system and
- even bypassing static linking.
-
- Future FAQs should contain more detail.
-
-
-
- ANNOTATED BIBLIOGRAPHY
- ======================
-
- [Agrawal 91] R. Agrawal et al. "Static Type Checking of Multi-Methods".
- OOPSLA 91. Object-Oriented Programming Systems, Languages, and Applications.
- ACM Press. Addison Wesley.
-
- Compile-time checking and optimizations for multi-methods.
-
- [Aho 86] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers:
- Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
-
- Authoritative, classic book on compilers and optimizations. Type chapter
- contains section on type inferencing (using ML as an example).
-
- [Berard 93] Edward V. Berard. Essays on Object-Oriented Software
- Engineering. Prentice Hall.
-
- Many topics on OOSE, includes coverage of OO domain and requirements
- analysis.
-
- [Black 86] A. Black et al. Object-Structure in the Emerald System. OOPSLA
- '86 Conference Proceedings, SIGPLAN Notices (Special Issue), Vol. 21, n0. 11,
- pp 78-86. [I believe there is a more recent article, YTBI]
-
- The original article on Emerald. OO language without inheritance but with
- abstract types and static subtype polymorphism. Also designed for
- distributed programming and reuse. See article for references: Jade on
- reuse [Raj 89]) and Distr. Prog.
-
- [Black 87] A. Black, N. Hutchinson, E. Jul, H. Levyand L. Carter. Distribution
- and Abstract Types in Emerald, IEEE Transactions on Software Engineering, Vol.
- SE13, no. 1 Jam., pp 65-76.
-
- Subtype polymorphism for distributed programming in Emerald [Black 86].
-
- [Blair 89] "Genericity vs Inheritance vs Delegation vs Conformance vs ..."
- Gordon Blair, John Gallagher and Javad Malik, Journal of Object Oriented
- Programming, Sept/Oct 1989, pp11-17.
-
- Recommended by a reader, but the Author has yet to review this article.
-
- [Boehm 86] B.W. Boehm. A Spiral Model of Software Development and Enhancement.
- Software Engineering Notes, Aug., vol. 11 (4), p 22.
-
- Presents an alternative evolutionary approach to the strict waterfall software
- engineering life-cycle. Now a classic, most OO methodologies now emphasize
- the iterative or evolutionary approach to software development.
-
- [Booch 87] Grady Booch. Software Engineering with Ada. 2nd Ed. Benjamin
- Cummings.
-
- Booch in his early years. Mostly object-based programming with Ada.
-
- [Booch 87b] Grady Booch. Software Components With Ada, Structures, Tools,
- and Subsystems. Benjamin Cummings.
-
- A taxonomy and collection of object-based components in Ada (includes code).
- Has many examples with generics.
-
- [Booch 91] Booch, Grady. Object-Oriented Design With Applications. Benjamin
- Cummings.
-
- The often referred to book on OOD. Offers design notation and methodology.
- Brief coverage of OOA and elaborate OOD/P coverage in the applications.
- Good on basic principles and has case studies in Smalltalk, Object Pascal,
- C++, CLOS and Ada.
-
- Also contains an *elaborate* classified bibliography on many areas of OO.
-
- [Booch 94] Grady Booch. Object-Oriented Analysis And Design With
- Applications, 2nd Ed. Benjamin Cummings. ISBN 0-8053-5340-2.
-
- The next FAQ should be updated to the second edition. All examples are now
- in C++. Booch incorporates several other major methodologies including
- Wirf-Brock's CRC (Class-Responsibility-Collaboration) and Jacobson's Use-
- Cases.
-
- [Cardelli 85] L. Cardelli and P. Wegner. On Understanding Types, Data
- Abstraction, and Polymorphism. ACM Computing Surveys vol. 17 (4).
-
- Long, classic article on Object-Oriented Types, Data Abstraction and
- Polymorphism. Formal coverage with a type system analysis model as well.
-
- [Chambers 92] Craig Chambers. The Design and Implementation of the SELF
- Compiler, an Optimizing Compiler for Object-Oriented Programming Languages.
- Dept of Computer Science, Stanford University, March 1992.
-
- Covers type optimizations for OO compilers. See Appendix E, PAPERS.
-
- [Chambers 93] Craig Chambers. Predicate Classes. Proceedings ECOOP '93
- O. Nierstrasz, LNCS 707. Springer-Verlag, Kaiserslautern, Germany
- July 1993 pp 268-296
-
- "... an object is automatically an instance of a predicate class whenever
- it satisfies a predicate expression associated with the predicate class.
- The predicate expression can test the value or state of the object, thus
- supporting a form of implicit property-based classification that augments
- the explicit type-based classification provided by normal classes. By
- associating methods with predicate classes, method lookup can depend not
- only on the dynamic class of an argument but also on its dynamic value or
- state. [...] A version of predicate classes has been designed and
- implemented in the context of the Cecil language.
-
- See Appendix E, PAPERS.
-
- [de Champeaux 93] Dennis de Champeaux, Doug Lea, Penelope Faure.
- Object-Oriented System Development. Addison-Wesley, ISBN 0-201-56355-X.
-
- Covers an integrated treatment of OOA and OOD. Takes serious the
- computational model of one thread per object. Gives more than usual
- attention to the OOA&D micro process. Presents a unique OOD language.
-
- [Coad 91] Peter Coad and Edward Yourdon. Object-Oriented Analysis, 2nd ed.
- Englewood Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO analysis method.
-
- [Coad 91b] Peter Coad and Edward Yourdon. Object-Oriented Design. Englewood
- Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO design method.
-
- [Coleman 94] Derek Coleman, et. al. Object-Oriented Development - The Fusion
- Method. Prentice-Hall Object-Oriented Series. ISBN 0-13-338823-9
-
- Fusion is considered to be a second generation OOAD method in that it builds
- on successful components of a number of first generation methods (OMT, Booch,
- CRC, Objectory, etc). However, this has been done with the requirements of
- industrial software developers in mind. And so issues of traceability,
- management etc. have been taken into consideration and the Method provides
- full coverage from requirements through to code.
-
- [Cook 90] W.R. Cook, W.L.Hill, P.S. Canning. Inheritance Is Not Subtyping.
- Appeared in [Hudak 90] and Gunter 94].
-
- Theoretical article on the separation between type and class, or as the
- authors state between implementation inheritance and subtyping.
-
- [Coplien 92] James O. Coplien. Advanced C++ Programming Styles and Idioms.
- Addison Wesley.
-
- Covers advanced C++ programming and performing other more advanced and
- dynamic styles of OO in C++.
-
- [Colbert 89] E. Colbert. The Object-Oriented Software Development Method: a
- practical approach to object-oriented development. Tri-Ada Proc., New York.
-
- Presents the Object-Oriented Software development method. Has emphasis on
- objects.
-
- [Cox 86,91] Cox, Brad J. Object-Oriented Programming, An Evolutionary
- Approach. Addison Wesley.
-
- The original book on Objective-C. Coverage on object-oriented design and
- programming. Also covers Objective-C implementation, even into object code.
-
- Objective-C... '91 AW by Pinson and Wiener provide another good text.
-
- [Embley 92] D.W. Embley, B.D. Kurtz, S.N. Woodfield. Object-Oriented Systems
- Analysis, A Model-Driven Approach. Yourdon Press/Prentice Hall, Englewood
- Cliffs, NJ.
-
- Presents the Embley and Kurtz OO methodology.
-
- [Garfinkel 93] Simson L. Garfinkel and Michael K. Mahoney. NeXTSTEP
- PROGRAMMING STEP ONE: Object-Oriented Applications. Springer-Verlag.
-
- Introduction to the NextStep environment and applications development.
-
- [Goldberg 83] Adele Goldberg and David Robson. Smalltalk-80 The Language and
- Its Implementation. Addison Wesley.
-
- The original book on Smalltalk. Covers implementation. Also known as "the
- Blue Book". Out of print. Superceded by [Goldberg ??].
-
- [Goldberg ??] Adele Goldberg and David Robson. Smalltalk-80: The Language.
- Addison-Wesley.
-
- The "Purple Book". Omits the obsolete abstract virtual machine description
- from the Blue Book.
-
- [Gunter 94] Carl A. Gunter and John C. Mitchell. Theoretical Aspects of Object-
- Oriented Programming. MIT Press. ISBN 0-262-07155-X.
-
- Highly mathematical, formal coverage of object-oriented programming;
- primarily on typing.
-
- [Harmon 93] Paul Harmon. Objects In Action: Commercial Applications Of Object-
- Oriented Technologies. Jan, 1993. A-W ISBN 0-201-63336-1.
-
- Sponsored by the OMG to summarize the use of OO technology in industry and
- business, contains a brief history and summary of OO and many case studies.
-
- [HOOD 89] HOOD Working Group. HOOD Reference Manual Issue 3.0. WME/89-173/JB.
- Hood User Manual Issue 3.0. WME/89-353/JB. European Space Agency.
-
- Presnets the HOOD (Hierarchical Object-Oriented Design) OOSE methodology.
- From the European Space Agency. Based on Ada and object-based.
-
- [Hudak 90] P. Hudak. Principles of Programming Languages. ACM Press, pp 125
- -135.
-
- Contains several articles, including [Cook 90].
-
- [Hudak 92] Paul Hudak and Simon Peyton Jones. Haskell Report. SIGPLAN Notices.
- 1992, vol 27, no 5.
-
- Haskell reference.
-
- [Humphrey 89] Watts Humphrey. Managing the Software Process. Addison Wesley.
-
- Sponsored by the Software Engineering Institute (SEI), the presented project
- management model is inspired by the work of Boehm, Brooks, Deming and Juran
- and represents a strong step in the direction of achieving 6 sigma defect
- rate prevention and optimizing the software development process for quality,
- productivity, and reliability. Presents the CMM, see section .
-
- [IBM 90,91] Various Documents from the IBM International Technical Centers:
- GG24-3647-00, GG24-3641-00, GG24-3566-00, GG24-3580-00.
-
- Present IBM's OOSE methodology.
-
- [Jacobson 92] Ivar Jacobson, et al. Object-Oriented Software Engineering - A
- Use Case Driven Approach. ACM Press/Addison Wesley.
-
- Presents Jacobson's new OOSE methodology based on use cases.
-
- [Jones 92] Rick Jones. Extended type checking in Eiffel. Journal of Object-
- Oriented Programming, May 1992 issue, pp.59-62.
-
- Presents subtype polymorphic extension to Eiffel (static typing only).
-
- [Jurik 92] John A. Jurik, Roger S. Schemenaur, "Experiences in Object Oriented
- Development," ACM 0-89791-529-1/92/0011-0189.
-
- Presents the EVB OOSE methodology. Also: Barbara McAllister, Business
- Development, EVB Software Engineering, Inc., (301)695-6960, barb@evb.com.
-
- [Kiczales 92] Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow. The Art
- of the Metaobject Protocol. The MIT Press.
-
- Reflection and Metaobject Protocols (MOPs). Uses a CLOS subset, Clossette,
- as a foundation.
-
- [Kim 89] Won Kim and Frederick Lochovsky Editors. Object-Oriented Concepts,
- Applications, and Databases.
-
- Collection of articles on advanced OO and research systems.
-
- [Krasner 88] G. E. Krasner and S. T. Pope. A Cookbook for Using the Model-View-
- Controller User Interface Paradigm in Smalltalk-80. JOOP, vol 1, no 3, August/
- September, 1988, pp 26-49,
-
- An early paper published on MVC.
-
- [Lakoff 87] George Lakoff. Women, Fire, and Dangerous Things: What Categories
- Reveal About The Mind. UOC Press.
-
- An almost formal view of classification/categorization by the noted cognitive
- scientist, George Lakoff. His view blasts objectivism and contends to
- replace it with a subjectivist view, based on a study of humans, natural
- language, and concept formation.
-
- [LaLonde 90] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 1.
- Prentice Hall.
-
- Good introduction to Smalltalk.
-
- [LaLonde 90b] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 2.
- Prentice Hall.
-
- Excellent coverage of MVC. However, it's based on ParcPlace Smalltalk-80,
- version 2.5, which is obsolete.
-
- [Liskov 93] Barbara Liskov and Jeannette M. Wing. Specifications and Their use
- in Defining Subtypes. OOPSLA 93, pp 16-28. ASM SIGPLAN Notices, V 28, No 10,
- Oct. 1993. A-W ISBN 0-201-58895-1.
-
- Specifications on Subtype hierarchies. Helps to insure the semantic
- integrity of a separate subtype system. See section 2.7.
-
- [Madsen 93] Ole Lehrmann Madsen, Birger Moller-Pedersen, Kristen Nygaard:
- Object-oriented programming in the BETA programming language. Addison-Wesley,
- June 1993. ISBN 0 201 62430 3
-
- The new and authoritative book on BETA, by the original designers. They
- are some of the same designers of the Simula languages, originating OO.
- Also just announced:
- Object-Oriented Environments: The Mjolner Approach
- Editors: Jorgen Lindskov Knudsen, Mats Lofgren, Ole Lehrmann Madsen,
- Boris Magnusson
- Prentice Hall: The Object-Oriented Series
- ISBN: 0-13-009291-6 (hbk)
-
- [Martin 92] James Martin and James J. Odell. Object-Oriented Analysis and
- Design, Prentice-Hall, Englewood Cliffs, NJ.
-
- Its primary purpose is to indicate how information engineering (IE) can be
- evolved to accommodate OO. The analysis portion (starting at Chapter 15)
- attempts to go back to 'first principles' and is based on a formal foundation.
- Therefore, the IE aspect is not required. Emphasis is more on analysis than
- design.
-
- [Meyer 88] Bertrand Meyer. Object-Oriented Software Construction. Prentice
- Hall. [Is there a new edition out?]
-
- The original book on Eiffel. Coverage on object-oriented design and
- programming. Also:
-
-
- [Meyer 92] Bertrand Meyer. Eiffel: The Language. Prentice Hall. Englewood
- Cliffs, NJ. 1992.
-
- The definitive book on Eiffel by its author.
-
- [Meyer 94] Bertrand Meyer. Reusable Software: The Base Object-Oriented
- Components Libraries.
-
- The new Eiffel class Libraries.
-
- [Mugridge 91] Warwick B. Mugridge et al. Multi-Methods in a Statically-Typed
- Programming Language. Proc. ECOOP.
-
- Efficient implementation of Multi-Methods.
-
- [Murray 93] Robert B. Murray. C++ Strategies and Tactics. Addison Wesley.
-
- C++, has template examples.
-
- [Nerson 92] Jean-Marc Nerson. Applying Object-Oriented Analysis and Design.
- CACM, 9/92.
-
- Demonstrates the basics of the BON method/notation. Nerson: marc@eiffel.fr
-
- [Paepcke 93] Andreas Paepcke. Object-Oriented Programming: The CLOS
- Perspective. MIT Press. ISBN 0-262-16136-2.
-
- CLOS, readable introduction to its metaobject protocol, comparisons with
- other languages, uses and methodology, and implementation. Develops a
- persistent object metaclass example.
-
- [Raj 89] R.K. Raj and H.M. Levy. A Compositional Model for Software Reuse.
- The Computer Journal, Vol 32, No. 4, 1989.
-
- A novel approach aading reuse to Emerald [Black 86] without inheritance.
-
- [Reenskaug 91] T. Reenskaug, et al. OORASS: seamless support for the creation
- and maintenance of object-oriented systems. Journal of Object-Oriented
- Programming, 5(6).
-
- Presents the Object-Oriented Role Analysis, synthesis, and Structuring
- OOSE methodology.
-
- [Royce 70] W. W. Royce. Managing the Development of Large Software Systems.
- Proceedings of IEEE WESCON, August 1970.
-
- Introduces the Waterfall Process Model.
-
- [Rumbaugh 91] Rumbaugh James, et al. Object-Oriented Modeling and Design.
- Prentice Hall.
-
- The often referred to book on OOA/OOD. Introduces the Object Modeling
- Technique (OMT) OOA/D notation and methodology. Has case studies.
-
- [Sciore 89] Edward Sciore. Object Specialization. ACM Transactions on
- Information Systems, Vol. 7, No. 2, April 1989, p 103.
-
- A hybrid approach between delegation and classical OO.
-
- [Selic 94] Bran Selic, Garth Gullekson, and Paul T. Ward. Real-Time
- Object-Oriented Modeling. Published by John Wiley & Sons.
- ISBN 0-471-59917-4
-
- OO method addresses complete lifecycle needs of real-time systems. Emphasizes
- executable models for early validation of requirements, architecture, and
- design combined with techniques for automatic generation of implementations.
- Specifically real-time with iterative and incremental development process.
- Single consistent graphical modeling concepts apply uniformly to OOA/D/I.
-
- [Shlaer 88] Sally Shlaer and Stephen J. Mellor. Object-Oriented Systems
- Analysis: Modeling the World in Data.
-
- Credited as the first book proposing an OOA method.
-
- [Shlaer 92] Sally Shlaer and Stephen J. Mellor. Object Lifecycles: Modeling
- the World in States.
-
- An addition to [Shlaer 88], provides dynamic modeling with a state-
- transition driven approach.
-
-