09.09.2013 Views

2003:27 - Karlstads universitet

2003:27 - Karlstads universitet

2003:27 - Karlstads universitet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

En modul m är en modul (här i meningen subtyp) av en annan modul n endast om varje metod<br />

som tillhör modul n även tillhör m, se Figur 2.1.<br />

m<br />

Figur 2.1 En modul m är en modul av en annnan modul n endast om varje metod som<br />

tillhör modul n även tillhör m<br />

Vidare bör läsaren förstå innebörden av vad som sker med en modul när en av dess<br />

operationer förändras. När en operation förändras medför det att dess modul definieras om.<br />

Eftersom en modul definierar en typ så definieras även en ny typ och det är därför som det är<br />

intressant att diskutera subtyper. Däremot kan en operations metod förändras utan att varken<br />

operationen förändras eller modulen måste definieras om. För övrigt kan en modul också<br />

befinna sig i olika tillstånd. Egentligen oändligt många tillstånd eftersom en modul kan ha<br />

olika metoder. Ett tillstånd kännetecknas som en fas i implementationen.<br />

2.3 Förvillkor och eftervillkor<br />

Ett speciellt viktigt begrepp i den här uppsatsen är villkor. De två villkor som används är för-<br />

och eftervillkor, precondition respektive postcondition, varav här oftast används<br />

förkortningarna pre respektive post. En metod har två villkor och med ett förvillkor menas<br />

det villkor som måste vara uppfyllt före anrop till metoden. Ett eftervillkor är det villkor som<br />

skall vara uppfyllt efter exekveringen av metoden. En metod kan till exempel kräva som<br />

förvillkor att en variabel x ska vara större än eller lika med ett. En klient måste då uppfylla:<br />

pre x ≥1.<br />

Under förutsättning att klienten uppfyller förvillkoret, garanterar metoden i sin tur<br />

att eftervillkoret x > 10 kommer att uppfyllas. Eftervillkoret för metoden är då: post x > 10 .<br />

För att hålla isär förvillkor från eftervillkor, villkor för en metod från en annnan metod, är det<br />

nödvändigt att använda index. Vanligast i uppsatsen är att pre för T, skrivs som<br />

6<br />

n<br />

m<br />

pre T , där m

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!