• Keine Ergebnisse gefunden

Komponenten- und Service-orientiere Softwarekonstruktion

N/A
N/A
Protected

Academic year: 2021

Aktie "Komponenten- und Service-orientiere Softwarekonstruktion"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Informatik LS XIV – Software Engineering – Prof. Dr. Jakob Rehof Jan Bessai

Übungen zur Vorlesung

Komponenten- und Service-orientiere Softwarekonstruktion

Sommersemester 2017 Übungsblatt Nr. 9

Abgabetermin: 5.7.2017 (in der Übung, vorher per Mail oder in der Vorlesung); Alternativ:

Bis am 7.7.2017 per Mail oder in OH14, Raum 129 Aufgaben(teile) mit der Markierung ? sind Zusatzaufgaben.

Gemeinsame Abgaben von Gruppen bis zu 3 Personen sind möglich. 30.6.2017

Aufgabe 1 (Church Encoding von Tupeln) (2 + 3 + 5 = 10Punkte) Im einfach getypten λ-Kalkül kann man Tupel von Termen ähnlich wie Church-Numerale wie folgt konstruieren:

in≡λxyf.f xy

1. Zeigen Sie, dass es Projektionenπ1 undπ2 gibt, sodassπ1(inM N)β M undπ2(inM N)β N 2. Sei[σ, τ]ρ≡(σ→τ →ρ)→ρ. Zeigen Sie für alle Typenρ, σ, τ:

(a) `in :σ→τ →[σ, τ]ρ (b) `π1: [σ, τ]σ →σ

(c) `π2: [σ, τ]τ →τ

3. Zeigen Sie, dass diese Kodierung nicht assoziativ ist, also das es keinen Term M gibt, sodass

`M : [σ1,[σ2, σ3]ρ1]ρ2 →[[σ1, σ2]ρ1, σ3]ρ2

Aufgabe 2 (Aktorsysteme) (5 Punkte) ?

Verwenden Sie Scala oder Java, um ein Aktor-System mittels Akka zu bauen, welches die folgende Aufgabe erledigt:

Bei der Wahl zum Studierendenparlament wird ein Wahlservice mit einer Liste wählbarer Parteinamen sowie eine Liste mit Wahlberechtigten initialisiert. Der Wahlservice bekommt eine Nachricht, dass die Wahl losgeht, und erstellt aus der Liste aller Parteien zusammen mit einem zufälligen Passwort pro Wahlberechtigtem_r eine Wahlinstanz. Anschließend wird diese vom Wahlservice den Wahlberechtig- ten zusammen mit ihrem jeweiligen Passwort bekannt gemacht. Die Wahlberechtigen schicken an die Wahlinstanz ihre Stimmen, ihr Passwort und eine Ergebnisadresse. Wenn mit dem Passwort noch nicht gewählt wurde, zählt die Wahlinstanz die Stimme (nicht wählbare Parteinamen werden als ungültig ge- zählt). Es wird eine Nachricht über den Erfolg oder Misserfolg der Stimmabgabe an die Ergebnisadresse geschickt. Haben alle gewählt, wird die Statistik von der Wahlinstanz an den Wahlservice geschickt und auf der Konsole ausgegeben. Die Wahlinstanz soll nicht über die Liste der wahlberechtigten informiert werden, sondern nur die Pseudonymisierungspasswörter zur Überprüfung verwenden.

Unter http://akka.io/try-akka/ finden Sie Demo-Projekte und eine Dokumentation, auf der Sie ihre Implementierung aufbauen können.

Drucken Sie den Quellcode nicht aus, sondern geben sie ihn per E-Mail ab, indem sie alle notwendigen Projektdateien zu zu einem zip-Archiv machen!

Seite 1 von 1

Referenzen

ÄHNLICHE DOKUMENTE

The CLS view: Already in simple types, relativized inhabitation defines a Turing-complete logic programming language for component composition...

metaprogramming (SCS) domain-specific languages declarative languages logic programming generative programming model driven design (MDD) verification. automatic

Use modal types 2 φ (“code of type φ”) to expose language distinction to compostion synthesis. Introduction of modal

Gemeinsame Abgaben von Gruppen bis zu 3 Personen

Gemeinsame Abgaben von Gruppen bis zu 3 Personen

Generiere eine JAR Datei mit einem fehlerfrei ausführbaren Produkt, welches ein Solitaire Spiel mit einem sechs Kartenstapel realisiert.. Seite 2

Unabhängig davon, wie die Verbote pro-islamischer, aber auch pro-kurdischer Parteien im Einzelfall zu bewerten sein mögen, führen sie in ihrer Gesamtheit zu einer

Wenn diese Parte jedoch sehr geringe oder keine Zuwächse hat, argumentieren manchmal (b) Parteien, dass sie eigentlich Gewinner der Wahl wären, weil sie den größten Zuwachs