Produkte
Technologie
 

Die technologische Basis: Microsoft's .NET-Framework

Die .NET-Plattform von Microsoft bildet eine allgemeine Basis zur Ausführung von .NET-Programmen. Wichtige Komponente dieses Konzepts ist die Laufzeitumgebung Common Language Runtime (CLR), die den nach ISO/IEC 23271:2006 standardisierten Zwischencode Common Intermediate Language (CIL) ausführt.

   
 

CLI und CIL

Die .NET-Plattform von Microsoft stellt mit der Common Language Infrastructure (CLI) eine allgemeine Basis zur Ausführung von .NET-Programmen her, die von den unterschiedlichsten Programmiersprachen verwendet wird. Wichtige Komponente dieses Konzepts ist die Laufzeitumgebung Common Language Runtime (CLR), die den nach ISO/IEC 23271:2006 standardisierten Zwischencode Common Intermediate Language (CIL) ausführt.
  Erst zur Laufzeit übersetzt ein Just-in-Time-Compiler (JIT) den Zwischencode in Managed Code und arbeitet diesen ab. Die Common Intermediate Language (CIL) ist der standardisierte Zwischencode, der die Mischung verschiedener Programmiersprachen erlaubt.
 
   
 

CIL-Code: Unabhängige Zwischensprache

Komponenten einer Applikation können in unterschiedlichen Sprachen programmiert werden, wodurch das Nebeneinander mehrerer Programmiersprachen in einer Applikation möglich ist. Basis hierfür ist ein eigens definiertes, sprachübergreifendes System von objektbasierten Datentypen, die das reibungslose Zusammenspiel zwischen Komponenten, die in verschiedenen Sprachen geschrieben wurden, gewährleisten. Es gibt heute schon rund 40 verschiedene Programmiersprachen die CIL erzeugen.

 
 

 
 

Echtzeit mit der Microsoft CLR?

 Die Microsoft CLR geht mit dem Just-in-Time-Compiler (JIT) einen Mittelweg zwischen Interpretation und Kompilierung des Programmcodes. Der JIT kompiliert zur Laufzeit den benötigten Teil des Codes und die Garbage Collection sorgt für die automatische Speicherverwaltung.

 
 

Dieses Programmierkonzept hat jedoch auch seinen Preis: Es werden mehr Ressourcen benötigt, die gesamte Ausführungszeit ist etwas langsamer als bei kompiliertem Code und, bedingt durch die Garbage Collection, können die Antwortzeiten auf Ereignisse in Mitleidenschaft gezogen werden. Dies ist natürlich besonders für Embedded-Geräte nachteilig.

Fazit: Wenn es um die Erstellung Ressourcen-sparender oder Laufzeit-kritischer Embedded-Anwendungen geht, ist die Verwendung der Microsoft CLR speziell für Echtzeit-Aufgaben nicht zu empfehlen.

 
 

Die Lösung: Echtzeit mit ProConOS embedded CLR!

Erreicht wird die Echtzeitfähigkeit der ProConOS embedded CLR durch Einsatz des Ahead-Of-Time (AOT)-Compilers: Im Unterschied zur Microsoft CLR wird der Zwischencode CIL nicht erst bei Anforderung (Just in Time) in nativen Maschinencode kompiliert, sondern dies geschieht bereits im Vorfeld (Ahead of Time).

Auf diese Weise lassen sich Echtzeit und eine sichere Speicherverwaltung sicherstellen!

 
 

 [Weitere Informationen zur Echtzeitfähigkeit der ProConOS embedded CLR]

 
 

Die Architektur der ProConOS embedded CLR

Das "Native Library Interface" ermöglicht den Aufruf von gerätespezifischem C-Code aus C#, z.B. der im Bild oben gezeigte Aufruf eines C# Funktionsbausteins für die Ansteuerung einer 7-Segment-Anzeige.
 
   
 

C# - die robuste Programmiersprache

Die wichtigste .NET-Programmiersprache ist C#. Sie ist die systemeigene Sprache für die .NET Common Language Runtime und fügt sich nahtlos in die .NET-Laufzeitumgebung ein. C# wurde für die Entwicklung robuster, langlebiger, objektorientierter Komponenten konzipiert. Entwickler können leicht von C++ auf C# umsteigen, da die Syntax sehr ähnlich ist.

Die komponentenbezogenen Konzepte, beispielsweise Eigenschaften, Methoden und Ereignisse, stellen die Kernelemente der Sprache und der zugrundeliegenden Laufzeitumgebung dar. Deklarative Informationen (Attribute) können auf Komponenten angewendet werden, um anderen Bestandteilen des Systems Entwurfszeit- und Laufzeit-Informationen zu einer Komponente zu liefern. Die Dokumentation kann innerhalb der Komponente geschrieben und nach XML exportiert werden.

C# bietet eine einfache, sichere und intuitive Umgebung, ist typensicher und bietet dem Programmierer Schutz vor nicht initialisierten Variablen, unsicheren Typumwandlungen und weiteren häufig auftretenden Programmierfehlern, wie etwa implizites Konvertieren von Bool nach Integer oder "Durchfallen" bei "switch"-Anweisungen. Viele Fehler werden bereits beim Editieren und Kompilieren im Visual Studio erkannt. Zusätzlich stellt C# den Programmierern eine Vielzahl von Features zur Verfügung, die die Arbeit erleichtern, wie beispielsweise ein weitreichendes Intellisense auch für Interfaces und Eventhandler.

Durch die Verbreitung von .NET und C# gibt es heute schon sehr viele weitere Tools rund um C#, die zur Testautomation, zum Generieren von API-Hilfen, Messen von Performance oder Überprüfen von Design-Richtlinien eingesetzt werden.

 
 

 
 
[Druckversion] [Seite weiterempfehlen] [nach oben]
Adresse
KW-Software GmbH
Lagesche Straße 32
32657 Lemgo
Tel.: +49 (0) 52 61 / 93 73-0
info@kw-software.com
Sie sind hier
Homepage
Produkte
Embedded CLR
Quick Links
Ansprechpartner
Firmen-Profil
Informationsanfrage