Code Contracts für Windows Communication Foundation (WCF

Transcrição

Code Contracts für Windows Communication Foundation (WCF
Code Contracts
für Windows Communication Foundation (WCF)
– Semesterprojekt –
Betreuer:
Prof. Dr. Bernhard Hollunder, Hochschule Furtwangen
Teamgröße:
2 - 3 Studenten
Termin:
Wintersemester 2010/11
Inhalt:
Mit Code Contracts [1] können für .NET Klassen und Methoden erweiterte Schnittstellenverträge in Form von Vorbedingungen, Nachbedingungen und Invarianten
spezifiziert werden. Dies ermöglicht die explizite Beschreibung von System- und
Objektzuständen, die zur Laufzeit eingehalten werden sollen. Neben einer
(dynamischen) Überprüfung der Verträge zur Laufzeit bieten Code Contracts auch
eine statische Auswertung an, d.h. bestimmte Kategorien von Schnittstellenverletzungen können bereits zur Compile-Zeit erkannt werden.
Windows Communication Foundation (WCF) [2] ist ebenfalls eine .NET Technologie
und ermöglicht die Erstellung von verteilten, dienste-orientierten Systemen. WCF
unterstützt verschiedene Kommunikationsarten und -protokolle wie zum Beispiel
Web Services.
Derzeit ist es nicht möglich, beide Technologien zu kombinieren. In anderen Worten:
bei einer WCF Anwendung werden die Code Contracts Anweisungen schlichtweg
ignoriert. In [3] wird ein Ansatz beschrieben, wie dieses Manko behoben werden
kann. Im Rahmen des Semesterprojektes soll dieser Ansatz praktisch umgesetzt
werden. Hierzu ist es erforderlich, sich zunächst näher mit Code Contracts, WCF
und Visual Studio auseinanderzusetzen. Nachfolgend soll das in [3] beschriebene
Konzept realisiert werden.
Voraussetzungen:
•
•
Programmierkenntnisse in C#
Interesse sich praktisch mit .NET, Code Contracts, WCF und Visual Studio
auseinanderzusetzen.
Literatur:
[1]
Microsoft Corporation: Code contracts user manual (2009).
[2]
Löwy, J.: Programming WCF Services. O'Reilly (2007).
[3]
Hollunder, B.: Code Contracts for Windows Communication Foundation (WCF).
Proceedings of the Second International Conference on Advanced Service
Computing (2010).