90 likes | 188 Views
OBJEKTORIENTERT ARBEIDSMETODE. HISTORIKK. * OO er et begrep som kommer fra “softwaredesign” og høynivåprogrammering. * Første OO: SIMULA 67 utviklet av Ole J. Dahl og Kristen Nygaard - Norsk Regnesentral. * Hvorfor: ”For å unngå fatale feil i dataanlegg som opererte på store datamengder.”.
E N D
OBJEKTORIENTERT ARBEIDSMETODE
HISTORIKK * OO er et begrep som kommer fra “softwaredesign” og høynivåprogrammering * Første OO: SIMULA 67 utviklet av Ole J. Dahl og Kristen Nygaard - Norsk Regnesentral * Hvorfor: ”For å unngå fatale feil i dataanlegg som opererte på store datamengder.” * SIMULA 67 ---> SMALLTALK (XEROX) ----> C++ ----> JAVA (SUN -1995) * IEC 61131-3 (EN 61131-3) baserer seg på OO prinsipper. * Hvorfor: ”For å unngå fatale feil i kontrollsystem som opererer på store datamengder.”
* ABSTRAKSJON (abstraction) En abstraksjon er en datamodell av et ekte objekt (for eksempel en elektrisk motor). En datamodell er data og programbiter som opererer på disse dataene. * INNKAPSLING (encapsulation) Data og programbiter som utgjør en abstraksjon skal samles i en modul. Denne samlingen” blir kalt en ”klasse”. * ARV (inheritance/extension) En klasse/flere klasser kan være basis for en ny klasse. Den nye klassen ”arver” alle data og programbiter fra basisklassen(e) og det vil være mulig å legge til ekstra data og programbiter i den ”nye” klassen. OO og “de tre prinsippene”
* ABSTRAKSJON (abstraction) En Funksjonsblokk i.h.h.t EN 61131-3 kan brukes til å lage en abstraksjon av et ekte objekt, for eksempel en elektrisk motor. En funksjonsblokk består av et dataområde og et program som opererer på disse dataene. * INNKAPSLING (encapsulation) Data og program i en funksjonsblokk er samlet i en modul. En funksjonsblokk er 100% ekvivalent til en ”klasse”. * ARV (inheritance/extension) En eksisterende funksjonsblokk kan ”bakes inn” i en ny funksjonsblokk . Den nye blokken ”arver” alle data og programbiter fra basisblokken og det vil være mulig å legge til ekstra data og programbiter i den ”nye” blokken. EN 61131-3 og “OO prinsippene”
FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB En FB er en Objekttemplat
FB FB FB FB FB FB FB FB FB FB FB FB FB FB FB Arv
“NO PROBLEM” BRYT NED TIL SUPEROBJEKT FB FB FB FB FB OBJEKT-ADMINISTRERING (STYRING) OBJEKT (INSTANSIERING) BRYT NED TIL SUBOBJEKT TEMPLATER OO Fremgangsmåte PROBLEMSTILLING
Objektadministrering HMI Automatiseringsapparat Prosess ADM. OBJ. PROSESS OBJ. ADMIN. ADMIN. MOTOR MOTOR M ADMIN. ADMIN. MOTOR MOTOR M ADMIN. ADMIN. MOTOR MOTOR M ADMIN. ADMIN. MOTOR MOTOR M PT
CO COMPONENT OBJECT HMI IMS CO CO CO CO ENGIN. ENGINEER INTERACTION TOOL CO CO CO CO NETWORK CO DCS UNIT DCS UNIT DCS UNIT DCS UNIT DCS UNIT DCS UNIT DCS UNIT NETWORK CO POSSIBLY FIELDBUS DCS PROCESS Real object Real object Real object Real object Real object Real object Real object Real object Objektadministrering