Concepts and Techniques for Object-Oriented Software Development
Rainer Weinreich
Table of Contents
1 Introduction
1.1 Motivation
1.2
Overview
2 Basic Terminology and Concepts of Object-Oriented
Programming
2.1 Fundamentals
2.1.1 Object-Oriented
Programming
2.1.2 Object-Oriented Programming
Languages
2.2 Classic Object-Oriented Language Mechanisms and Terminology
2.2.1 The Class/Inheritance
Approach
2.2.2 Variations and Extensions of the
Class/Inheritance Approach
2.3 Alternative Object-Oriented Language Concepts
2.3.1 The Prototype/Delegation
Approach
2.3.2 Type Conformance
2.4 Classification of Object-Oriented Programming Languages
3 Object-Oriented Programming and Structuring
Techniques
3.1 Techniques for Programming in the Small
3.1.1 Narrow Inheritance
Interface
3.1.2 Pure Message
Interface
3.1.3 Method and Instance-Variable
Attributes
3.1.4 Task Splitting
3.1.5
Procedure Classes
3.2 Techniques for Programming in the Middle
3.2.1 Techniques for Object
Creation
3.2.2 Techniques for Behavior
Modification
3.2.3 Techniques for Weak
Coupling
3.3 Techniques for Programming in the Large
3.3.1 Teams
3.3.2
Subsystems
3.3.3 Frameworks (Abstract
Teams)
3.3.4 Class Libraries
3.3.5
Application Frameworks
4 Concurrent and Distributed Object-Oriented
Programming
4.1 Basic Terminology and Concepts
4.1.1 Process Models
4.1.2 Process
Interaction
4.1.3 Processes and Objects
4.2 The Proxy/Dispatcher/Collocutor Technique
4.2.1 Concept
4.2.2 Implementation
Issues
4.2.3 Summarizing Remarks
4.3 Related Work
5 ProcessTalk: An Application Framework for
Process-Automation Software
5.1 Problem Domain
5.2 Framework Architecture
5.2.1 ET++
5.2.2
ProcessTalk
5.3 Components of the Framework
5.3.1 Communication
5.3.2
Active-Object Management
5.3.3 Data
Management
5.3.4 Process Control
5.4 Application Example Ladle Furnace
6 Conclusion
6.1 Summary
6.2
Consequences
6.3 Final Remark
Bibliography
Figures
Index