Beispielklausur B MPGI 3

Ähnliche Dokumente
Technische Universität Berlin Institut für Softwaretechnik und Theoretische Informatik FG Softwaretechnik Franklinstr. 28/ Berlin

MPGI 3 Muster-SLK B. Wintersemester 2011/ Februar 2012

MPGI 3 Muster-Schriftliche Leistungskontrolle B

Beispielklausur A MPGI 3

MPGI 3 Muster-Klausur A

Studientag 1793 Software Engineering I. 6. Juli 2014

Automatisierungstechnik am um 9:00, Bearbeitungszeit: 2 h Prüfer: Prof. Dr.-Ing. Knut Graichen

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009

Klausur Softwaretechnik

Informatik IIa: Modellierung

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

4. Modellieren und Diagrammarten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur Softwaretechnologie WS 2014/15

Klausur. Softwareentwurf. 04. Februar 2013 Bearbeitungszeit: 120 Minuten

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

Software Engineering 1 6. Übung. Sönke Holthusen, Matthias Kowal, Joachim Steinmetz Institut für Softwaretechnik und Fahrzeuginformatik

Zustände Zustandsdiagramme

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

Aufgabe 1 (Anwendungsfalldiagramm)

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

Das aktuelle Objekt der Klasse AMPEL gibt an die Objekte gruen, gelb und rot der Klasse LAMPE die Botschaft, die Methode aus() aufzurufen.

Kapitel 3 Ereignisdiskrete Systeme (III)

Klausur zur Vorlesung. Grundlagen der Technischen Informatik (GTI) und. Grundlagen der Rechnerarchitektur (GRA)

Datenbanken II A: Datenbank-Entwurf Klausur

Modellgestützte Analyse und Optimierung Übungsblatt 8

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

1. Probeklausur zur Programmierung I

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Bedienungsanleitung. Elektronikschloss E Paderborn Pamplonastraße 2

Systemmodellierung. Teil Ereignisdiskrete Systeme

Informatik IIa: Modellierung

Kurzbefehle. Mike McBride Jost Schenck Übersetzung: Jürgen Nagel

Werkzeugelemente Beamer Epson EB585/EB595

Fakultät IV Elektrotechnik/Informatik. Klausur Einführung in die Informatik I (Technikorientierung) 28. März Bearbeitungszeit: 120 Minuten

FS_CA_01 - Benutzerhandbuch für 2- Wege KFZ Alarmanlage

Klausur Datenbanken Wintersemester 2009/2010 Prof. Dr. Wolfgang May 2. Februar 2010, Uhr Bearbeitungszeit: 90 Minuten

1) Gegeben Sei der auf der rechten Seite beschriebene Prozess mit folgenden globalen Deklarationen. const int N := 4; chan c[n]; int wert := 0;

14 Zusatzmodul: Zeiterfassung

Beschreibung des Bedienteils (Zugangsmodul mit Bediensegmenten) GARAGE HAUS KOMPLETT SCHARF KOMPLETTE SCHARFSCHALTUNG

Übungsaufgaben Softwaretechnologie

Klausur. Universität Augsburg, Institut für Informatik Sommersemester 2007 Prof. Dr. Werner Kießling 21. Juli (Suchmaschinen) Hinweise:

Kurzanleitung Skype for Business für Windows

Anwendungsfalldiagramm UseCaseDiagramm

SBWL Controlling im Sommersemester 2009 Klausur Controlling mit SAP am im HS 0606

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)

HomeMatic -Know-how. Teil 2: Funk-Lichtsteuerung über HomeMatic -Display-Wandtaster. 40 So funktioniert s

12 Zusatzmodul: Reifeneinlagerung

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten

Windows Cockpit Konfiguration Montag, 23. November :59

Cisco Voic . Kurzanleitung. Vers. 2016_04

7. UPM3 SOLAR. 7.1 Bedienoberfläche

Karlsruher Institut für Technologie. Klausur Algorithmen I

Klausur Softwaretechnologie SS 2017

Basic line EM1620 EM2020 EM2520 EM3020 EM3520

Häfele Connect App - Kurzanleitung

Hinweise. 1. Beschreibung der Bedieneinrichtungen Abhilfe bei Fehlfunktionen 33


Otto-von-Guericke-Universität Magdeburg

Klausur "Elektrotechnik" am

Sicherheitsradkeil mit Sensortechnik und Ampel

Klausur zur Vorlesung Softwaretechnik

Die Kontrolleuchten der Bedienerkonsole

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Übungen Softwaretechnik I

ESCRIBA Hilfe:Designen Elemente Domaene-de

Klausur Algorithmen und Datenstrukturen

Verwenden der Bedienerkonsole

Klausur Einführung in die Wirtschaftspolitik

Cisco Voic . Kurzanleitung. Vers. 2016_01

Informatik 3 Theoretische Informatik WS 2016/17

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

Applikation Öffnen der Schutztür bei einer Anlage mit servotec S2xxx-FS Achsen

Bedienungsanleitung Primor 2000 / Level 5

Speech 001. Blumax Speech 001. Bedienungsanleitung - 1 -

Klausur "Elektrotechnik" am

Klausur Kosten- und Leistungsrechnung Grundstudium im Sommersemester 2008 am im HS 1200

Präsenzübung Datenstrukturen und Algorithmen SS 2014

Checkliste: Konfiguration eines Datenraums nach einem Upgrade von Brainloop Secure Dataroom von Version 8.10 auf 8.20

Bedienungsanleitung Primor 100

Ein Codeschloß mit LCN

State diagrams (Zustandsautomaten)

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Transkript:

Technische Universität Berlin Institut für Softwaretechnik und Theoretische Informatik FG Softwaretechnik Franklinstr. 28/29 10587 Berlin Helke Mertgen Beispielklausur B MPGI 3 Prüfen Sie zunächst, ob dieses Exemplar vollständig ist (6 beidseitig bedruckte Blätter). Tragen Sie auf diesem Titelblatt und darüber hinaus auf allen Blättern, die Sie für Ihre Niederschrift verwenden, Ihren Namen und Ihre Matrikelnummer ein. Zum Bestehen der Klausur sind mindestens 25 Punkte notwendig. Insgesamt sind 50 Punkte möglich. Die Bearbeitungszeit beträgt 75 Minuten. In der Klausur sind außer einem beschriebenen DIN-A4-Blatt keine Hilfsmittel zugelassen. Verwenden Sie ausschließlich das ausgeteilte Klausur-Papier. Es dürfen nur permanent-schwarze oder blaue Stifte zum Lösen der Aufgaben verwendet werden. Viel Erfolg! Name, Vorname: Matrikelnummer: Studienrichtung: MPGI3-Übungen habe ich im Semester besucht. Aufgabe 1a 1b 1c 2 Gesamt Maximal: 6 10 14 20 50 Erreicht:

Beispielklausur B MPGI3, Name: MatrNr.: 1 Aufgabe 1 (Object-Z) - Verladestation An einem Flughafen gibt es eine Verladestelle zum Ein- und Ausladen von Koffern. Ein Flugzeug, das zu der Verladestelle kommt, wird zunächst vollständig entladen. Danach wird es mit Koffern beladen, die das selbe Ziel haben, wie das Flugzeug auf seinem kommenden Flug. Aufgabenstellung: Spezifizieren Sie die Verladeaktionen in Object-Z, indem Sie die globalen Definitionen und die vorgegebenen Klassendefinitionen ergänzen. Globale Definitionen: [FLUGHAFEN] Nachricht ::= Koffer ziel : FLUGHAFEN 1a) Flugzeug 6 Punkte Ein Flugzeug, das zu der Verladestelle kommt, hat als aktuelles Flugziel den Flughafen, den es als nächstes ansteuert. Jedes Flugzeug hat eine Kapazität, welche die maximale Anzahl von Koffern festlegt, die es transportieren kann. Die Menge der beförderten Koffer darf niemals die Kapazität übersteigen. Das Flugzeug gilt als vollbeladen, wenn die Kapazität ausgeschöpft ist. Initial transportiert ein Flugzeug keine Koffer. Die Operation Ausladen entlädt sämtliche Koffer aus dem Flugzeug und gibt die Menge dieser Koffer zurück. Die Operation Einladen lädt einen Koffer in das Flugzeug und bestätigt die erfolgreiche Aktion mit einer Nachricht. Der Koffer wird nur unter der Vorbedingung angenommen, dass das Flugzeug noch nicht vollbeladen ist und dass das Ziel des Koffers mit dem Flugziel übereinstimmt.

Beispielklausur B MPGI3, Name: MatrNr.: 2 Flugzeug (INIT, Einladen, Ausladen, ziel, vollbeladen) kapazität : N ziel : FLUGHAFEN koffer : P Koffer vollbeladen : B INIT Ausladen (koffer, vollbeladen) ks! : P Koffer Einladen (koffer, vollbeladen) k? : Koffer n! : Nachricht

Beispielklausur B MPGI3, Name: MatrNr.: 3 1b) Verladestelle 10 Punkte An der Verladestelle wartet eine Menge von Flugzeugen, die beladen werden sollen. Es gibt ein Lager mit allen eingegangenen Koffern und ein Lager mit allen zum Verladen aufgegebenen Koffern. Die Menge der aufgegebenen Koffer ist nach der Reihenfolge, in der sie aufgegeben wurden, nummeriert. Es gilt, das keiner der aufgegebenen Koffer im Lager mit den eingegangenen Koffern liegen darf und umgedreht. Initial gibt es weder Koffer noch Flugzeuge in der Verladestelle. Flugzeug an der Verladestation annehmen Die Operation Flugzeug hinzufügen fügt der Menge der wartenden Flugzeuge eine weiteres Flugzeug hinzu. Die Operation Einlagern erwartet eine Menge von Koffern als Eingabe und fügt diese der Menge der eingegangenen Koffer hinzu. (Die eingegangenen Koffer können dann von den Fluggästen abgeholt werden, was aber nicht mehr Bestandteil dieser Spezifikation ist.) Die robuste Operation Flugzeug annehmen beschreibt die Annahme eines ankommenden Flugzeugs bei der Verladestation. Die Operation erwartet ein Flugzeug als Eingabe, für das der folgende Ablauf spezifiziert werden soll: Alle Koffer des Flugzeugs werden ausgeladen. Die ausgeladenen Koffer werden in der Verladestation eingelagert. Das Flugzeug wird der Menge der wartenden Flugzeuge hinzugefügt.

Beispielklausur B MPGI3, Name: MatrNr.: 4 Verladestelle (INIT, Flugzeug annehmen, Koffer aufgeben) flugzeuge : P Flugzeug aufgegeben : N Koffer eingegangen : P Koffer INIT Flugzeug hinzuf ügen ( ) f? : Flugzeug Einlagern ( ) Flugzeug annehmen = [f? : Flugzeug]

Beispielklausur B MPGI3, Name: MatrNr.: 5 1c) Verladestelle (Fortsetzung) Koffer aufgeben und verladen 14 Punkte Mit der Operation Koffer aufgeben kann ein Fluggast einen Koffer zum Verladen aufgegeben. Die Koffer sollen in der Reihenfolge ihrer Aufgabe vermerkt werden, um sicher zu stellen, dass kein Koffer übermäßig lange auf seinen Transport warten muss. Die Operation Nächsten Koffer auslagern liefert den aufgegebenen Koffer, der bis jetzt am längsten im Lager auf seinen Transport gewartet hat. Der Koffer wird aus dem Lager entfernt. Mit der Operation Verladen nicht möglich wird spezifiziert, unter welchen Bedingungen das Verladen eines bestimmten Koffers scheitern kann. Sie soll berücksichtigen, ob derzeit ein Flugzeug an der Verladestation wartet, das diesen Koffer annehmen würde. Die Operation Koffer zurückstellen erwartet einen Koffer als Eingabe. Sie spezifiziert den Fall, dass das Verladen dieses Koffers derzeit nicht möglich ist und der Koffer daher erneut aufgegeben wird. Mit der Operation Koffer verladen soll schließlich der gesamte Verladevorgang für einen Koffer spezifiziert werden: Der jeweils nächste Koffer aus dem Lager wird ausgelagert, falls möglich, wird aus der Menge der wartenden Flugzeuge eines ausgewählt, in das der Koffer verladen wird, andernfalls wird der Koffer zurückgestellt. Hinweis: Sie können die Funktionen min und max verwenden, die das minimale bzw. das maximale Element einer Menge von natürlichen Zahlen ergibt.

Beispielklausur B MPGI3, Name: MatrNr.: 6 Verladestelle (Fortsetzung) Koffer aufgeben ( ) k? : Koffer Nächsten Koffer auslagern ( ) Verladen nicht möglich k? : Koffer n! : Nachricht Koffer zurückstellen = Koffer verladen =

Beispielklausur B MPGI3, Name: MatrNr.: 7

Beispielklausur B MPGI3, Name: MatrNr.: 8 Aufgabe 2 (Statecharts) - Spülmaschine Es soll eine (Geschirr-)Spülmaschine mit Hilfe von Statecharts modelliert werden. Die Spülmaschine besteht aus den zu modellierenden Komponenten Tür, einem Knopf für das Intensiv-Programm, einem Knopf zum Vorspülen und einer Steuerung für den Programmablauf. Die Spülmaschine ist ein Haushaltsgerät zum Reinigen von Geschirr, das über die Tür ein- und ausgeräumt werden kann. Der Programmablauf kann mit der Start-Taste gestartet und mit der Stop-Taste unterbrochen werden. Wird direkt nach einer Unterbrechung die Start-Taste erneut gedrückt, so wird der Programmablauf mit dem zuletzt aktiven Programmpunkt fortgesetzt. Der zuletzt aktive Programmpunkt wird hierbei noch einmal komplett (von Anfang bis Ende) ausgeführt. Wird hingegen direkt nach einer Unterbrechung noch einmal die Stop-Taste gedrückt, so beendet die Spülmaschine das Programm endgültig und schaltet sich aus. Ein Programm enthält folgende Programmpunkte und läuft wie folgt ab. 1. Vorspülen (optional, 15 Minuten) 2. Reinigen (1 Stunde) 3. Klarspülen (30 Minuten) 4. Trocknen (30 Minuten) Der Programmablauf innerhalb der einzelnen Programmpunkte wird durch externe Module (Teil der Umgebung) realisiert und ist bis auf die angegebenen Zeitangaben nicht genauer zu modellieren. Der Programmablauf lässt sich nur starten, wenn die Tür geschlossen ist. Der Programmpunkt Vorspülen kann mit dem entsprechenden Knopf an- oder abgeschaltet werden. Mit dem Knopf für das Intensiv-Programm wird gesteuert, ob der Programmpunkt Reinigen einmal oder zweimal ausgeführt werden soll. Die Einstellungen zum Vorspülen und Reinigen können nach dem Programmstart nicht mehr verändert werden. Nach dem Trocknen ist das Programm beendet und die Maschine schaltet sich aus. Während eines Programmablaufs lässt sich die Tür nicht öffnen. Nur im ausgeschalteten Zustand kann die Tür geöffnet werden. Initial ist die Spülmaschine ausgeschaltet, die Tür geschlossen und die Programm-Optionen (Vorspülen, Intensiv) sind deaktiviert.

Beispielklausur B MPGI3, Name: MatrNr.: 9 Aufgabenstellung Modellieren Sie die beschriebene Spülmaschine mit ihren Komponenten und dem Programmablauf mit Hilfe von Statecharts. Es sollen nur die beschriebenen Eigenschaften modelliert werden. (Das Ein-/Ablaufen von Wasser etc. soll z.b. nicht modelliert werden.) Verwenden Sie die in der folgenden Tabelle aufgeführten Ereignisse, die durch den Benutzer ausgelöst werden können. Wenn Sie neue Ereignisse für die Modellierung definieren wollen, ergänzen Sie entsprechend die Tabelle. 20 Punkte NAME BESCHREIBUNG EXTERNE EINGABEEREIGNISSE start stop auf zu i ein i aus v ein v aus Die Start-Taste der Spülmaschine wird gedrückt. Die Stop-Taste der Spülmaschine wird gedrückt. Die Taste zum Tür-Öffnen wird gedrückt. Die Taste zum Tür-Schließen wird gedrückt. Der Knopf für das Intensiv-Programm wird aktiviert. Der Knopf für das Intensiv-Programm wird deaktiviert. Der Knopf für das Vorspülen wird aktiviert. Der Knopf für das Vorspülen wird deaktiviert. EXTERNE AUSGABEEREIGNISSE INTERNE EREIGNISSE

Beispielklausur B MPGI3, Name: MatrNr.: 10 Statechart-Lösung: