Aufgabe 2.1 (30 Punkte)
Aus Supermärkten sind rechnergesteuerte Datenkassensysteme bekannt. Mit einem Strichcode versehene Waren werden an einem Scanner vorbeigeführt; über die erkannte Artikelnummer kann der Rechner auf die gespeicherten Artikeldaten zugreifen (Bezeichnung, Preis, Menge, ...).
Typische Ereignisse, die eine Aktivität des Systems auslösen, sind:
a) (5 P.) Verfasse ein entsprechendes Java interface oder ein Modula definition module; achte dabei auf die richtige Parametrisierung der Operationen sowie auf eventuell zu meldende Ausnahmen!
b) (10 P.) Erweitere diese Schnittstellenbeschreibung um eine umgangssprachliche (wohlformulierte!) modellbasierte Spezifikation mit Angabe von Modell, (abstrakter) Invariante, Voraussetzungen und Effekten!
c) (7 P.) Gib eine entsprechende formale [formalsprachliche] Spezifikation an!
d) (8 P.) Zeige oder widerlege, daß die Spezifikation widerspruchsfrei bzw. vollständig ist!