ICon-L


ICon-L
iCon-L
Kontextdigramm-iCon-L.png
Basisdaten
Paradigmen: deklarativ
Erscheinungsjahr: 1994
Entwickler: ProSign GmbH
Aktuelle Version: 4.5  (21.12.2010)
Typisierung: stark
wichtige Implementierungen: 8051, C166/C167, ARM, x186, x86, PowerPC
Dialekte: Datenfluß / Ablaufketten
Einflüsse: Blockdiagramm
Betriebssystem: Windows 2000, Windows XP, Windows Vista, Windows 7
Lizenz: properität
www.pro-sign.de

iCon-L ist ein grafisches Programmiersystem, das vorwiegend für die Programmierung von Mikrocontrollern in eingebetteten Systemen verwendet wird.

Inhaltsverzeichnis

Einführung

Die Programmierung der Anwendungssoftware erfolgt dabei nicht mit Hilfe einer textuellen Programmiersprache, sondern über einen grafischen Editor durch das Zeichnen von Blockdiagrammen. Der wichtigste Grund für die Verwendung von Blockdiagammen liegt darin, dass Blockdiagramme schon lange vor der Verbreitung von Computern für die Beschreibung bzw. Modellierung von technischen Systemen genutzt wurden. Hierdurch können die Programme auch von Fachspezialisten erstellt werden, die nicht aus der IT-Welt kommen. Des Weiteren wird für eingebettete Systeme häufig ein Anwendungsprogramm benötigt, dass technisch/physikalische Prozesse beschreiben soll. Diese, meist kontinuierliche Prozesse, wie z.B. Regelungsalgorithmen oder Signalaufbereitung, können mit Blockdiagrammen besser wiedergeben werden.

Neben den praktischen Gründen für die Anwendung von Blockdiagrammen gibt es wichtige Gründe, die sich aus der Softwaretechnik ableiten. Die Anwendung fundamentaler Prinzipien der Softwarentwicklung können hierdurch auch von Mitarbeitern und Auftragebern nachvollzogen werden, die nicht unmittelbar in die Software-Entwicklung einbezogen waren. Dies ist insbesondere für das Review, die Abnahme oder auch die Zertifizierung von Software wichtig.

In iCon-L können die Blöcke und Funktionsbausteine sehr ausdrucksstarke Symbole besitzen und den Zustand bzw. die Werte des Blocks visualisieren. Hiermit soll die Semantik für die Erstellung und Inbetriebnahme des Anwenderprogramm auf den konkreten Anwendungsbereich (siehe auch: Domänenspezifische Sprache) zugeschnitten werden. Der Vorteil von anwendungsspezifischen Symbolen liegt in dem sehr hohen Maß an impliziter Information. Wird ein Baustein als Ventil symbolisiert und mit anderen Bausteinen verbunden, weiß jeder, was sich hinter diesem Baustein verbirgt und in welcher Beziehung er zur Umwelt steht.

Durch die Verwendung von fachspezifischen Beschreibungen bzw. Modellen können die Informationen aus der Anforderungsspezifikation unmittelbar in die Programmierumgebung übernommen werden. Das Anforderungsmodell selbst wird zur treibenden Kraft in der Programmierung. Die Anforderungsspezifikation ist hierdurch immer aktuell. Die Wartung und Inbetriebnahme von Software wird durch diese Methode spürbar erleichtert.

iCon-L ist im engeren Sinne kein fertiges Programmiersystem, sondern ein Framework bzw. Software-Technologiepaket für die Entwicklung geräte- und anwendungsspezifischer Konfigurations- und Programmierlösungen. Das Framework besitzt keinen Bezug zu einer konkreten Hardware oder einer konkreten Anwendung (Ausprägung). Dieser Bezug wird erst durch die system- bzw. anwendungsspezifische Konfiguration bzw. Entwicklung von PlugIns und Bibliotheken hergestellt. Fast alle PlugIns, Bausteinbibliotheken und IDE-Einstellungen sind projektbezogene Konfigurationen. Somit passt sich der Framework, nur durch das Laden eines Projektes, automatisch auf die Bedingungen für unterschiedlichste Hardwaresysteme und Anwendungen an.

Ziele

In iCon-L werden vorwiegend deklarative Programmiersprachen realisiert. Ein wesentliches Ziel von iCon-L ist die Verbesserung der Softwarequalität durch die Verwendung anerkannter Methoden und Prinzipien für das Softwareengineering. Zugleich sollen mit iCon-L Vorgehensmodelle zur Softwareentwicklung wie z.B. das V-Modell praxisorientiert umgesetzt werden.

Technisches Konzept

Die technische Umsetzung von iCon-L basiert auf zwei grundlegenden Prinzipien.

  • Die Anwendungsprogrammierung ist streng von der Systemprogrammierung getrennt.
  • Der grafische Editor für die Anwendungsprogrammierung besitzt keine feste Bindung an bestimmte Funktionsbausteine oder Blöcke. Alle Funktionsbausteine werden erst während der Laufzeit durch das Laden eines Projektes in den Editor eingebunden.

Funktionsbausteine sind in iCon-L die kleinste Softwareeinheit. Die Zielfunktion, welche der Mikrocontroller ausführen soll, wird in C oder C++ geschrieben. Die Programmierung der Funktionsbausteine wird in iCon-L der Systemprogrammierung zugerechnet und sollte von Mitarbeitern durchgeführt werden, die entsprechende Erfahrungen in der Systemprogrammierung mit C und C++ besitzen. Für jeden Funktionsbausteintyp wird eine C-Funktion implementiert und zusammen mit dem iCon-L-Laufzeitumgebung für den entsprechenden Mikrocontroller compiliert und gelinkt. Der Systemprogrammierer benutzt für das Erzeugen der Laufzeitumgebung + alle anwendbaren Funktionsbausteintypen die C/C++ – Entwicklungsumgebung für den jeweiligen Mikrocontroller. Für die Fehlersuche im System stehen weiterhin alle Funktionalitäten der Werkzeugkette für die Programmierung des Controllers zur Verfügung. Die Laufzeitumgebung inklusive aller Funktionsbausteintypen wird in compilierter Maschinensprache als Firmware auf den Mikrocontroller übertragen.[1]

Mit der Anwendungsprogrammierung wird in der Regel erst begonnen, wenn der erforderliche Funktionsbausteinvorrat fertig entwickelt, vollständig getestet und dokumentiert ist.

Für die Anwendungsprogrammierung werden nun die, in der Firmware vorliegenden, Funktionsbausteintypen zu einem sinnvollen Programm verknüpft. Obwohl in der Firmware der Funktionsbausteintyp nur ein Mal als Funktion hinterlegt ist, kann der Anwendungsprogrammierer beliebig viele Bausteine bzw. Baustein-Instanzen nutzen. Die IDE erzeugt automatisch die entsprechenden Datenstrukturen für die Instanzierung der Bausteine. Im Anwenderprogramm können Funktionsbausteine auf grafischer Ebene zu neuen, komplexeren Bausteinen vernüpft werden. Die hierbei entstehenden Bausteine können wiederum wie Funktionsbausteine in anderen Projekten genutzt werden.

Für die Abarbeitung des Anwenderprogramms im Mikrocontroller wird ein sehr einfaches Konzept der verketteten Liste genutzt. Ein sogenannter Dispatcher arbeitet hintereinander die Liste ab und ruft hierbei die entsprechenden C-Funktionen mit den instanzierten Datenstrukturen für Eingänge, Ausgänge, Parameter und interne Speicherelemente auf. Da in der Programmiersprache C ein Zeiger sehr einfach in einen Funktionsaufruf umgewandelt werden kann und die C Funktion bereits vollständig im Maschinensprache übersetzt vorliegt, ist die Abarbeitung des Anwenderprogramms nur geringfügig langsamer als einen übersetztes C-Programm. Im Vergleich zu einem Programm mit sehr vielen Aufrufschichten kann das Anwenderprogramm sogar schneller abgearbeitet werden.

Da der Mikrocontroller nur sehr wenig zusätzliche Arbeit für das Abarbeiten des Anwenderprogramms leisten soll, erzeugt die IDE eine Verkettungsliste, die bereits die realen Speicherbedingungen im Zielsystem abbildet. Um dies zu realisieren, fordert die IDE den Mirocontroller auf, eine genaue Gerätebeschreibungsdatei zu senden. In dieser Datei steht die Aufteilung des Speichers, welche Funktionensbausteintypen der Laufzeitkern kennt und vor allen Dingen um was für einen Controller es sich handelt, 8,16 oder 32 Bit und in welcher Byte-Reihenfolge der Speicher organisiert ist. Aus diesen Informationen kann die IDE sehr einfach eine Verkettungsliste erzeugen, die genau auf die Anforderungen des Controllers zugeschnitten ist.

Zielsysteme

Eine Besonderheit von iCon-L ist es, dass es als grafisches Programmiersystem für sehr kleine Mikrocontroller eingesetzt werden kann. So ist der Laufzeitkern bereits auf Systemen einsetzbar, die über 4 KByte RAM und 32 KByte Flash-Speicher verfügen:

Auf folgende Mikrocontroller wurde der iCon-L Laufzeitkern erfolgreich portiert:[2]

8 Bit

16 Bit

32 Bit

Ohne direkten Bezug auf einen konkreten Prozessor existieren der iCon-L-Laufzeitkern auch für unterschiedliche Betriebssysteme:

Verbreitung im Markt

iCon-L wird von vielen Unternehmen der Industrie als Inhaus-Engineering-Lösung eingesetzt. Weiterhin setzen eine Reihe von Unternehmen iCon-L als OEM Werkzeug unter eigenem Namen mit den eigenen Steuerungslösungen ein.

Die Haupteinsatzgebiete sind:

  • Verkehrstechnik
  • Prüfstandsautomatisierung
  • Gebäudeautomation
  • Medizintechnik
  • Forschung und Ausbildung
  • Laborautomatisierung

iCon-L ist aus dem Produkt Prosign 1988–1992 hervorgegangen, aktuelle Version ist zur Zeit (Stand Januar 2011) iCon-L 4.5.

Folgende Produkte basieren auf dem Softwareframework iCon-L:

  • test.con: Gantner Instruments Prüfstandsautomation, Monitoring
  • GDS: GRAF-SYTECO HMI-Programmierung
  • DACHSview : Steinhoff Echtzeitapplikationen
  • IPOCS: SysMik Gebäudeautomation
  • SprintProsi: Ing. Büro Linsenbarth Anlagensimulation
  • Lucky Logic

Neben den Anwendern der oben genannten Programmierwerkzeuge wird iCon-L weiterhin als Inhaus-Programmierwerkzeug von folgenden Unternehmen eingesetzt:

  • Vossloh-Kiepe (Verkehrstechnik)
  • messMa (Verkehrstechnik; VT 1.0/1.5-ETCS)
  • Eckert & Ziegler AG (Medizintechnik)
  • IBP Medical (Medizintechnik)
  • Otto-von-Guericke Universität Magdeburg (Energietechnik)
  • Martin-Luther-Universität Halle (Forschung[3])
  • Fachhochschule Köln (Verkehrstechnik, Regelungstechnik)
  • NSD-Fusion (Forschungsprojekt CERN[4])

Geschichte

Die Wurzeln von iCon-L liegen bereits sehr weit zurück. So wurden die Grundprinzipien des Aufrufs von Modulen über eine verkettete Liste (Modulverbindungsliste) bereits 1985 in unterschiedlichen Mikroprozessorsteuerungen der DDR verwendet.

  • EAW Compact S2000 vom VEB Elektro-Apparate-Werke Berlin-Treptow)
  • Mikroprozessorregler RBS 05 vom VEB Wetron-Weida
  • ursamar 5000/5001 vom VEB Werton-Weida

Die Realisierung der Module und des Laufzeitkerns erfolgen hier noch vollständig in Assembler.

1992 wurde für die Programmierung des Laufzeitsystems C als Systemprogrammiersprache genutzt. Bei den ersten Geräten wurden die Anwenderprogramme allerdings noch textuell programmiert. Hierzu wurde die Modulverbindungsliste in ASCII mit einem normalen Texteditor erstellt.

Für den grafschen Editor liegen die Wurzen ebenfalls schon in den 80igern. Bereits 1988 wurde das grafischen Simulationssystems PPROSIGN vorgestellt.[5]. Dieser Editor lief allerdings nur auf einer UNIX-Workstation. 1993 wurde damit begonnen, den Editor und die weiteren IDE-Module auf Windows zu portieren.

Anfang 1994 wurde mit der MR92 von ABB das erste Steuerungssystem vollständig grafisch programmiert.

Literatur

Siehe auch

Weblinks

Einzelnachweise

  1. iCon-L Framework Laufzeitumgebung
  2. Firmenschrift ProSign Serie 1-F7 Messe IPC/SPS/DRIVES Nürnberg 2010
  3. Forschungsprojekt UNI Halle
  4. Forschungsbericht CERN
  5. 5. Symposium Simulationstechnik, Aachen, 28.-30. September 1988

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Icon — Icon …   Deutsch Wörterbuch

  • Icon in me — Жанры альтернативный метал трэш метал мелодичный дэт метал Годы 2007 наст. время …   Википедия

  • icon — icon·ic; icon·o·clasm; icon·o·clast; icon·o·clas·tic; icon·o·dule; icon·o·du·list; icon·o·du·ly; icon·o·graph·ic; icon·o·ma·tog·ra·phy; icon·o·scope; icon; icon·i·cal·ly; icon·o·clas·ti·cal·ly; icon·o·graph·i·cal; icon·o·graph·i·cal·ly; …   English syllables

  • Icon — Desarrollador(es) www.cs.arizona.edu/icon/ Información general Paradigma Multiparadigma, estructurado y orientado a texto …   Wikipedia Español

  • Icon — (engl. „Ikone, Bild, Piktogramm“) steht für: Icon (Computer), ein spezielles Piktogramm in der EDV Icon (Band), ein Bandprojekt von John Wetton und Geoffrey Downes Icon (Album), ein Album der englischen Band Paradise Lost Icon (Film), ein… …   Deutsch Wikipedia

  • ICON — est associé à un langage de programmation de haut niveau découlant des langages SNOBOL 4, CLU et C (K R). C est un langage impératif et procédural, dont la syntaxe ressemble aux langages C et Pascal (langage). Sommaire 1 Histoire 2 Exemples de… …   Wikipédia en Français

  • Icon — 〈[ aıkən] n. 15; EDV〉 Bildsymbol (auf dem Bildschirm), Piktogramm (dessen Funktion durch Anklicken ausgelöst wird) [engl., „Bild, Symbol“] Siehe auch Info Eintrag: Icon info! * * * Icon , das; s, s [engl. icon < griech. eiko̅̓n, ↑ Ikone] (EDV) …   Universal-Lexikon

  • icon — icon, iconic 1. The original meaning of icon, ‘a devotional painting on wood of Christ or a saint in Byzantine Christian art’, has been all but obscured except in specialist use or as a vague memory by modern uses first in the language of media… …   Modern English usage

  • ICON — Álbum recopilatorio de Scorpions Publicación 02 de noviembre 2010 Género(s) Hard rock Heavy metal Discográfica Island Records/Merc …   Wikipedia Español

  • icon- — icon(o) ♦ Élément, du gr. eikôn « image ». icon(o) élément, du grec eikôn, image . ⇒ICON(O) , (ICON , ICONO )élém. formant Élém. tiré du gr. « image », entrant dans la constr. de qq. termes sav., subst. et adj., dans des domaines sc. et techn.;… …   Encyclopédie Universelle