Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as families, with reusable modules put together in different manufacturable configurations, and the ability to add new modules in the field. The modules are controlled locally by software that must take into account the entire configuration. This poses two problems for the manufacturer. This has become an accepted part of the practice of Xerox, and the control software is deployed in high-end Xerox printers.
Stefik, Mark, Bobrow, Daniel G.
Many of the ideas behind object-oriented programming have roots going back to SIMULA. The first substantial interactive, display-based implementation was the SMALLTALK language. The object-oriented style has often been advocated for simulation programs, systems programming, graphics, and AI programming. It is also related to a line of work in AI on the theory of frames and their implementation in knowledge representation languages such as KRL, KEE, FRL, and UNITS.
Early this year fifty people took an experimental course at Xerox PARC on knowledge programming in Loops. During the course, they extended and debugged small knowledge systems in a simulated economics domain called Truckin. Everyone learned how to use the environment Loops, formulated the knowledge for their own program, and represented it in Loops. The punchline to this story is that almost everyone learned enough about Loops to complete a small knowledge system in only three days.