Specifikation Abstrakt OO OS-API Rev Specifikation. Abstrakt, objektorienteret operativsystem-api

Størrelse: px
Starte visningen fra side:

Download "Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api"

Transkript

1 Specifikation Abstrakt, objektorienteret operativsystem-api

2 Indhold 1 Indledning Introduktion Formål Overordnede krav Ressourcer i OS-API et Tråde Timere Semaforer Binære Semaforer Tællesemaforer Mutexer Mailboxe Eksempler Thread-wrapper til Windows... 7 Revisionshistorie Revision Dato/Initialer Ændring /TFJ Indledende revision /TFJ Ændret efter MUP-møde /TFJ Thread::start() tilføjet /TFJ Thread::start() tilføjet i eksempel /TFJ Ændret ifm. udfasning af RTKernel /TFJ Monitor fjernet. Binære semaforer, tællesemaforer og mutexes indført /TFJ Småfejl rettet Småfejl rettet Side 2 af 8

3 1 Indledning 1.1 Introduktion Denne note specificerer et abstrakt, objekt-orienteret Operativsystem-Application Programmer s Interface (OS API) implementeret som en række klasser der wrapper de mest almindelige OS-ressourcer. Disse klasser kaldes herefter wrappers. OS-API et er implementeret for Microsoft Windows XP (win32) og Wind River VxWorks 6.x. Wrappers til andre operativsystemer bør overholde det specificerede interface. Noten beskæftiger sig udelukkende med specifikationen af OS-API et. Det forudsættes at læseren er bekendt med de wrappede OS-ressourcer, og er bekendt med deres funktion (sikring af udelelig adgang etc.). 1.2 Formål Formålet med et abstrakt, objektorienteret OS-API er primært: At stille et OO-interface til de mest almindelige OS-resourcer til rådighed og dermed tillade en pæn overgang mellem designet og implementationen af et flertrådet system udviklet med OO-metoder At give et rent snit til OS- ressourcer, så undervisning i brug af et OS kan fokusere på den generelle anvendelse og ikke på et OS-specifik implementation af ressourcer At tillade en let overgang fra et OS til et andet og dermed tillade kørsel af en applikation skrevet til OS-API et at køre på flere forskellige platforme med et minimum af ændringer ideelt set uden ændringer. 1.3 Overordnede krav Formålene stillet op i 1.2 giver anledning til følgende overordnede krav til OS-API et: OS-API et skal implementeres som klasser OS-API et skal fokusere på forståelighed og læsbarhed, om nødvendigt på bekostning af funktionalitet. Det må samtidig ikke blive så abstrakt at typisk OS-opførsel indkapsles. OS-API et skal indkapsle OS et på en sådan måde, at der kun er brug for et minimum af OS-specifik applikationskode, såsom bootstrapping og anden initiering. Side 3 af 8

4 2 Ressourcer i OS-API et Følgende ressourcer stilles til rådighed i OS-API et: Tråde Timere Semaforer (binære, tælle- og mutex er) Mailboxe Specifikationen af de individuelle ressourcer er givet i de følgende afsnit 2.1 Tråde Tråde er wrappet i den abstrakte klasse Thread. Aktive objekter nedarver fra Thread og implementerer run(), som er task-funktionen, typisk indeholdende en uendelig løkke. Klassen har følgende interface: ThreadPriority Enum. Anvendes til specification af et Thread-objekts prioritet ved initiering eller under programafvikling. Specificerer følgende prioriteter: PRIORITY_LOW, PRIORITY_BELOW_NORMAL, PRIORITY_NORMAL, PRIORITY_ABOVE_NORMAL, PRIORITY_HIGH Thread start ~Thread setpriority getpriority getname Constructor. Opretter Thread-objektet med prioritet pri (default PRIORITY_NORMAL) og navnet name (default ). Starter run() skal kaldes explicit efter at objektet er oprettet. Destructor. Sætter Thread-objektets prioritet til pri Returnerer Thread-objektets aktuelle prioritet Returnerer Thread-objektets navn Side 4 af 8

5 2.2 Timere Simple sleep-timere er wrappet af klassen SleepTimer. Klassen tillader den kaldende tråd at blive suspended i et givet antal millisekunder. Klassen har følgende interface: SleepTimer ~SleepTimer sleep Constructor Destructor Suspender tråden i ms millisekunder 2.3 Semaforer OS API et specificerer tre forskellige typer semaforer: Binære semaforer, tællesemaforer og mutexer. Alle semafortyper implementerer standard semafor-egenskaber. Desuden: Binære semaforer kan haves af en tråd ad gangen. Her gælder specielt, at signalering til en ledig semafor ikke har nogen effekt. Tællesemaforers kan haves af flere tråde ad gangen. Her gælder specielt, at signalering til en ledig semafor vil tælle semaforen én op, og at tage en ledig semafor vil tælle semaforen én ned. Mutexer virker som binære semaforer. Specielt for RT-systemer gælder, at de bør implementere beskyttelse imod trådsynkroniseringsproblemer (priority inversion, task deletion og recursive ressource access) Binære Semaforer Binære semaforer er wrappet af klassen BinarySemaphore. Klassen har følgende interface: BinarySemaphore ~BinarySemaphore wait signal Constructor. Initierer pr. default semaforen til at være ikke-taget (fuld) Destructor. Standard semafor wait-funktionalitet Standard semafor signal-funktionalitet Tællesemaforer Tællesemaforer er wrappet af klassen CountingSemaphore. Klassen har følgende interface: CountingSemaphore ~CountingSemaphore wait signal Constructor. Sætter det initielle antal til initcount Destructor. Standard semafor wait-funktionalitet Standard semafor signal-funktionalitet Side 5 af 8

6 2.3.3 Mutexer Mutexer er wrappet af klassen Mutex.. Klassen har følgende interface: Mutex ~Mutex wait signal Constructor. Initierer Mutex-objektet Destructor. Nedlægger Mutex-objektet Standard Mutex wait-funktionalitet Standard Mutex signal-funktionalitet 2.4 Mailboxe Mailboxe er wrappet af klassen Mailbox., en parametriseret klasse som tillader overførsel af objekter med statisk størrelse mellem to brugere. Klassen har følgende interface: Mailbox ~Mailbox put get Constructor. Opretter et Mailbox-objekt med plads til cap objekter Destructor. Nedlægger Mailbox-objektet Tilføjer et Item-objekt til mailboxen Returnerer et Item-objekt fra mailboxen Side 6 af 8

7 3 Eksempler I dette afsnit gives eksempler på hvordan wrappers kan implementeres. 3.1 Thread-wrapper til Windows Thread.h #pragma once #include<windows.h> #include<string> using namespace std; // // T H R E A D // class Thread public: // Thread priorities enum ThreadPriority PRIORITY_LOW = THREAD_PRIORITY_LOWEST, PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_BELOW_NORMAL, PRIORITY_NORMAL = THREAD_PRIORITY_NORMAL, PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_ABOVE_NORMAL, PRIORITY_HIGH = THREAD_PRIORITY_HIGHEST, ; Thread(ThreadPriority pri = Thread::PRIORITY_NORMAL, string _name = ""); ~Thread(); bool setpriority(threadpriority pri); ThreadPriority getpriority(); string getname(); virtual void run() = 0; private: ThreadPriority priority; string name; HANDLE handle; static DWORD WINAPI threadmapper(void* p) ((Thread*)p)->run(); return 0; ; Side 7 af 8

8 Thread.cpp #include"thread.h" // NAME: Thread // FUNC: Thread::Thread(ThreadPriority pri, string _name) : priority(pri), name(_name) // NAME: ~Thread() // FUNC: Thread::~Thread() // NAME: start() // FUNC: Creates the thread. void Thread::start() handle = CreateThread(NULL, 0, threadmapper,(void*) this, 0, NULL); SetThreadPriority(handle, priority); // NAME: getname() // FUNC: string Thread::getName() return name; // NAME: setpriority // FUNC: Attempts to change the Thread's priority to pri. // RET: true if successful, false otherwise bool Thread::setPriority(ThreadPriority pri) priority = pri; if(setthreadpriority(handle, priority) == 0) return true; else return false; // NAME: getpriority // FUNC: Thread::ThreadPriority Thread::getPriority() return priority; Side 8 af 8

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til [email protected]. Besvarelsen skal

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank 03-10-2018 Rune Ibsen Softwareudvikling Seniorkonsulent Mentoring 10 konsulenter F# Programmeringssprog som oversættes til.net Functional-first,

Læs mere

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections; PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Andreas Nordbek & Kristoffer Skude Jensen. DMX Styring 31-05-2010. Side 1 af 15

Andreas Nordbek & Kristoffer Skude Jensen. DMX Styring 31-05-2010. Side 1 af 15 Andreas Nordbek & Kristoffer Skude Jensen DMX Styring 31-05-2010 Side 1 af 15 Indholdsfortegnelse 1 Indledning... 3 2 DMX... 4 3 Arkitektur... 5 4 Hardware design... 6 4.1 SPI... 9 5 Software... 10 5.1

Læs mere

Synkronisering af sekventielle processer

Synkronisering af sekventielle processer Synkronisering af sekventielle processer Klaus Hansen, Niels Elgaard Larsen, Maz Spork, Jørgen Sværke Hansen 15. februar 2005 1 Introduktion Ved en multiprogram forstår vi et program, hvori vi kan specificere,

Læs mere

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

BOSK F2011, 1. del: Udsagnslogik

BOSK F2011, 1. del: Udsagnslogik ( p q) p q February 1, 2011 Sandhedsværdier og udsagnsvariable I dag handler det om logiske udsagn. Mere præcist om de logiske udsagn vi kan bygge ud fra sandhedsværdier, udsagnsvariable og logiske konnektiver.

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen [email protected] i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, [email protected] 1 Dagens program Opsamling

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

Læs mere

Mandatory Assignment 1

Mandatory Assignment 1 Mandatory Assignment 1 Morten Franck Peter Hansen 9. oktober 2003 Gruppe 4, Parallelle Systemer (02220) Indhold 1 Trin 1 Petri Net 1 1.1 Model af pass().................................... 1 1.2 Model

Læs mere

I3PRG3+I3DTM3+I3ISY1-3. semester

I3PRG3+I3DTM3+I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 5 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir til kladde og renskrift Særlige bemærkninger:

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0 Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

[MARKONLINE I CITRIX]

[MARKONLINE I CITRIX] 2012 [Type text] Udarbejdet af Udarbejdet for Optimering af MarkOnline I Citrix miljøer Indholdsfortegnelse Baggrundsinfo... 2 Symptomerne... 3 MarkOnline starter ikke... 3 MarkOnline startes, men download

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Metoder Klasser Arv. Operatorer Løkker. Praksis eksempel. Grundlæggende programmering Lektion 3

Metoder Klasser Arv. Operatorer Løkker. Praksis eksempel. Grundlæggende programmering Lektion 3 Praksis eksempel Operatorer Løkker Metoder Klasser Arv Grundlæggende programmering Lektion 3 Praksis eksempel Et program der benytter Unity til at lave et 3D spil Praksis eksempel Spil der benytter Unity

Læs mere

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

En textbox har et Validating event, med dette kan vi samme med en errroprovider checke input:

En textbox har et Validating event, med dette kan vi samme med en errroprovider checke input: Inputvalidering i Windows Forms Applikationer Rolf Therkildsen (6. nov 2008) Krav til inputvalidering Brugeren må aldrig blive forhindret i at flytte til en anden kontrol. Brugeren skal informeres om fejl

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Specifikationsdokument for PDF Validator API

Specifikationsdokument for PDF Validator API Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 [email protected] www.nets-danid.dk CVR-nr. 30808460 Specifikationsdokument for PDF Validator API DanID A/S 17. august 2012

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Specifikationsdokument for PDF Validator API

Specifikationsdokument for PDF Validator API Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 www.nets.dk CVR-nr. 30808460 Specifikationsdokument for PDF Validator API DanID A/S december 2016 Side 1-8 Indholdsfortegnelse

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Schedulering. dopsys 1

Schedulering. dopsys 1 Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) list af processer i ready_a tilstand. dopsys 2 Re: Schedulering af processer.. administration af CPU-resursen.

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,

Læs mere

Objektorienterede metoder

Objektorienterede metoder Objektorienterede metoder Denne gang: Designmønstre Skabende designmønstre: Fabrikeringsmetode/Fabrik, Singleton, Abstrakt fabrik (Toolkit), Prototype, Objektpulje Singleton eksempel: Forskellige slags

Læs mere

Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,

Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen, Fag: Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen, Mikkel Larsen og Tomas Stæhr Hansen Indholdsfortegnelse

Læs mere