In response to academic needs concerning modern digital control, we made a variety of educational aids based on simulation. We aixided to employ OOP and selected some representative industrial subsystems to be simulated. OOP helped to analyze and implement the functions of the operational simulations, using an academic analogy for tasks distribution: lessons and teachers are “objects” coordinated to carry out the educational process, with the subsystems models as a resource. This distribution helps to structure the artificial intelligence, incorporated in the objects as specialized experts. We used Smalltalk for a rapid prototyping, and then C+ + for the final versions. As the learning curve is slow for OOP, we began with a small team and small projects, building re-usable pieces of code, some of them for 30 animated graphics. We employed ObjectVision as a CASE tool to construct objects and generate C++ commented code. We used CommonView C++ classes, so the man-machine interface of our simulations is MS-Windows. 1. Object Oriented Technology Along several generations, characterized by technological breakthroughs, the computers had been opening new potentials, to be substantiated by software. But this had never been easy. It is like having constantly new instruments, with new rules to be learned for its use. So the topic of software crisis ascends from old roots, and have several branches, sometimes prevalent. Early in the sixties, people involved in computing perceived clearly that software was anchored at artisan methodologies, leading to the so-called spaghetti code, bad for professional purposes. The IFIP formed a group to study the problem, which arrived to a recipe for programming: do use structured code. Some new languages were built for structuring: Algol, Simula, Pascal. The crucial reference to this stage of programming evolution, is The 1968 Tenth Anniversary Conference on ALGOL, in Zurich, where Simula-67 was presented. Perhaps we are now in a similar situation, because hardware is much more powerful, and the users are now common people knowing what classical applications can do, so they want better things, with a lot of graphics and intuitive interfaces. It is possible, yes, to develop that kind of new applications: but with a big cost of time, investment, and long code. Software industry faces a difficult problem of project management to obtain finally, on time, a competitive sophisticated product with the new features
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=306856.