Die Objektorientierung ist heute das grundlegende Konzept in vielen Bereichen der Informationstechnologie. Das betrifft sowohl die Modellierung und den Entwurf, wo sich die Verwendung von UML als de facto-Standard durchgesetzt hat, als auch die verwendeten Programmiersprachen.
Bis auf wenige Ausnahmen erfolgt heute die Applikationserstellung für den Office bzw. Internetbereich in Sprachen, die objektorientierte Konzepte vollständig oder zumindest teilweise unterstützen. Dabei kann unterschieden werden zwischen konsequent objektorientierten Sprachen (z.B. Java) und Sprachen, die auch herkömmliche Konzepte unterstützen (z.B. C++). Als weitere Beispiele für verbreitete Sprachen seien hier C#, Ada, Visual Basic oder SmallTalk genannt.
Die Grundkonzepte der Objektorientierung wie
Abstraktion
Kapselung von Daten und Methoden in Objekten
Vererbung sowie
Polymorphismus
bieten aus Sicht der Automatisierungstechnik insbesondere Vorteile durch eine verbesserte Wiederwendbarkeit und Wartbarkeit von Code. Diese Technologien ermöglichen die Erstellung von leistungsfähigen Frameworks für spezielle Anwendungsfälle, die den Aufwand bei der Applikationserstellung erheblich vermindern. Das trifft sowohl für die eigentlichen Steuerungsanwendungen als auch für Tools zur Unterstützung der Erstellung oder Wartung der Anwendungen zu.
Gerade in der Erstellung von komplexen Entwicklungsumgebungen für verschiedene Anwendungsfelder der Automatisierungstechnik wurden in jüngster Zeit erhebliche Fortschritte gemacht. Typische Beispiele für solche Frameworks als Basis für die Entwicklung spezieller Tools sind das AutomationFramework (basierend auf .NET) oder verschiedene Projekte auf Basis der offenen Java-ECLIPSE-Platform wie z.B. die Torero-IDE.
Daneben gibt es Ansätze, durch objektorientierte Systemmodelle alle Teilaspekte komplexer Automatisierungssystemen wie z.B. Steuerungsapplikation, Kommunikation, Schnittstellen von Geräten und Software oder Sicherheitsaspekte abzubilden und somit eine konsistente Basis für die Verwendung objektorientierter Technologien in der Automatisierungstechnik zu schaffen. Als Beispiele seien hier das IDA-Systemmodell oder die Automation Objects genannt.
Der Verwendung objektorientierter Sprachen, auch auf der eigentlichen Steuerungsebene, stehen heute im Wesentlichen zunächst die, meist nur eingeschränkten Ressourcen, der dort eingesetzten Hardware, im Wege. Ein fundamentales Problem ergibt sich jedoch im Hinblick auf der, für reale Steuerungsanwendungen geforderten Echtzeitfähigkeit, die bei modernen plattformunabhängigen Sprachen wie Java oder den .NET-Sprachen konzeptbedingt nicht gegeben ist.