Frågorna 1-5 handlar om Prolog och motsvarande textavsnitt är appendix 5 i kompendiet "Conceptual Modelling", avsnitt 1-4.
Frågorna 6-12 handlar om grundlägande modelleringsbegrepp och motsvarande textavsnitt är kapitel 3 i "Conceptual Modelling", avsnitt 3.1-3.3.
Svaren kan lämnas i samband med en föreläsning eller till DSV:s teknologexpedition, eller sändas med email till pajo@dsv.su.se.
1. Vilka svar ger Prolog på nedanstående frågor, givet programmet i exempel 1. Observera att vissa frågor kan ha flera svar.
a) ?- owns(john, abc123).
b) ?- owns(john, abc333).
c) ?- president(clinton).
d) ?- has_father(X, jane).
e) ?- has_father(jane, X).
f) ?- has_father(X, Y).
g) ?- married_to(X, jane), owns(X, C).
2. Betrakta följande regel:
har_syster(P, S):- kvinna(S), har_far(P, F), har_far(S, F).
a) Vad är huvudet i denna regel?
b) Vad är kroppen i denna regel?
3. Vilka svar ger Prolog på följande frågor, givet programmet i exempel 7:
a) ?- has_father_in_law(john, X).
b) ?- has_sister(X, liza).
Motivera Dina svar (d.v.s. ange substitutioner).
4. Betrakta predikaten i övning 1 till appendix 5. Översätt nedanstående Prolog frågor till svenska. (Den första frågan kan översättas till Vilka stockholmare tjänar mer än 200.000?)
a) ?- lives_in(P, stockholm), salary(P, S), S > 200000.
b) ?- lives_in(P, C), lies_in(C, norway).
c) ?- works_at(P, volvo), age(P, A), A < 25.
d) ?- lives_in(P, stockholm), works_at(P, ibm), works_at(P, ericsson).
5. Betrakta predikaten i övning 1 till appendix 5. Skriv regler för följande:
a) pensionär(P):- ...
En person är pensionär om han är över 65 år.
b) grannar(X, Y):- ...
Två personer är grannar om de bor i samma stad.
6. Låt S vara en tillståndsbeskrivning (eng. state description). Låt T vara de typpåståenden som förekommer i S, och låt A vara de attributpåståenden som förekommer i S. Är följande sant:
S = A [[exclamdown]] T
A (TM) T = Ø
Motivera Ditt svar.
7. Skriv ned en tillståndsbeskrivning som innehåller en objektidentifierare, som är en instans av två olika typer.
8. Ge ett exempel på en typ T och ett attribut a sådana att både domänen och värdeförrådet för a är T.
9. Betrakta följande typer:
ALBATROSS, DJUR, DÄGGDJUR, FÅGEL, GRIS, HUND, KATT, PUDEL, RÅTTA, SIAMES
Konstruera en abstraktionshierarki för dessa typer, d.v.s. ange vilka typer som är subtyper till vilka andra typer. Se också Fig-3.6 och lösningen till uppgift 2.8.
10. Antag att A är en subtyp till B och att B är en subtyp till C. Gäller det då att C är en supertyp till A? Motivera Ditt svar.
11. Ange fyra händelsetyper som kan förekomma i ett objektsystem som rör bankaffärer.
12. För var och en av reglerna nedan, avgör om den är
(i) en statisk eller dynamisk regel
(ii) en härledningsregel eller en konsistensregel
(iii) en nödvändig eller en deontisk regel (om den är en konsistensregel)
a) Personer under arton år får inte köra bil
b) Disponibel inkomst = bruttolön - skatt + bidrag
c) Varje svensk medborgare måste vara mantalskriven i någon församling
d) En person som gift sig i den berteliska kyrkan får inte skilja sig
e) En person kan inte vara gift med sig själv