Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Størrelse: px
Starte visningen fra side:

Download "Design by Contract. Design and Programming by Contract. Oversigt. Prædikater"

Transkript

1 Design by Contract Design and Programming by Contract Anne Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere software bruger prædikater (assertions) til dette : Hoare style pre-betingelser og post-betingelser for metoder/operationer klasse-invarianter Oversigt Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 1 Prædikater Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 3 Brug af assertions ved design og programmering. Det generelle begreb Design by contract. Design by contract for Java. Et prædikat (assertion) er en formel, hvis sandhedsværdi afhænger af tilstanden (variablernes værdier). Eks.: Prædikatet "x delelig med 3", hvor x N, er sand for de tilstande hvor x = 0,x = 3,x = 6,. Prædikaterne kan udtrykkes: i naturligt sprog, i sædvanlig matematisk notation, som boolske udtryk i et programmeringssprog, eller sætninger i et specielt dedikeret sprog (f.eks. OCL for UML, og JML for Java) Software Engineering 1 c Anne Haxthausen, Spring 2010 p Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 4

2 Design by Contract: pre- og postbetingelser For hver operation/metode skrives en kontrakt bestående af to prædikater: en pre-betingelse og en post-betingelse Eksempel: Square root operation sqrt med input x og output y. Pre-betingelse: x 0. Post-betingelse: y y = x. Ideelt set skrives kontrakten før implementeringen. Kan efter implementeringen evt. dokumenteres i programmet, checkes eller bevises overholdt. Eksempel Kontrakt for addkgs: Pre-betingelse: kgs >= 0. Post-betingelse: (weight == \old(weight) + kgs). \old(weight) angiver weight i pre-tilstanden Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 5 Design by Contract: pre- og postbetingelser Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 7 Dokumentation af pre- og postbetingelser Pre-betingelsen angiver, hvornår metoden må benyttes, dvs. noget, der skal gælde lige før metode-kaldet kan referere til input og tilstanden lige før metode-kaldet skal overholdes af "klient-programmer" Post-betingelsen angiver noget, der skal gælde lige efter metode-kaldet kan referere til input, output og tilstanden lige før og efter metode-kaldet skal garanteres af "leverandør-programmet" (metode-implementeringen), hvis klienten holder sin del Bemærk: Post-betingelsen beskriver hvad metode-kaldet resulterer i, ikke hvordan det algoritmisk opnås Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 6 Muligheder for dokumentation af pre- og postbetingelser i leverandør-programmer: Som kommentarer. Som assertions for sprog (f.eks. Java), der tilbyder det. Nogle programmeringssprog (f.eks. Eiffel og Spec#) har native support, dvs. specielt dedikerede sprogkonstruktioner til pre- og postbetingelser. Nogle programmeringssprog (f.eks. Java) har third-party support f.eks. i form af syntaksudvidelser, der preprocesseres til assertions i sproget selv (f.eks. JML for Java). De tre sidste former giver mulighed for ved kørsel af et klient-program at checke om kontrakten overholdes af de to parter. Hoare-logik (se separat foil-set) kan bruges til at bevise, at leverandør-programmet altid overholder sin del af kontrakten Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 8

3 Java Assert Statements Design by Contract: Klasse-invarianter Syntaks: assert <boolean-expression>; Eksempel: assert (x >= 0); Effekt: Ved normal programudførelse med java: Ingen. Ved programudførelse med java -ea: boolean-expression vil blive evalueret. Hvis resultatet er true, fortsætter programmet sin udførelse. Hvis resultatet er false, vil en AssertionError exception blive kastet. Brug: F.eks. til at checke invarianter, pre- og post-betingelser under udviklingsfasen. Assertions kan evt. undertrykkes af effektivitetsgrunde i det færdige produkt. En klasse-invariant er et prædikat på tilstanden for instanser af klassen. Denne invariant skal være opfyldt før og efter enhvert metode-kald på instanser af klassen. Eksempel: Klasse-invariant: weight >= 0 Dokumentation: samme muligheder som for pre- og postbetingelser Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 9 Assertion checking af pre- og postbetingelser Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 11 Progr. by contract beskyt klasseinvariant Kontrakt for addkgs: Pre-betingelse: kgs >= 0. Post-betingelse: (weight == \old(weight) + kgs). int oldweight = weight; assert (kgs >= 0); //pre condition check assert (weight == oldweight + kgs); //post cond check En leverandør skal tilbyde metoder, der bevarer invarianten. Dvs. hvis pre-betingelsen og invarianten er sande før et metode-kald, så skal invarianten også være sand efter metode-kaldet. En klient må ikke kunne bryde invarianten. Eksempel: //invariant weigth >= 0 Hvordan kan vi checke, at addkgs bevarer invarianten weigth >= 0? Software Engineering 1 c Anne Haxthausen, Spring 2010 p Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 12

4 Assertion checking af klasseinvariant Java development using JML //invariant weigth >= 0 In the design: make assertions as JML annotations: pre conditions and post conditions for methods state invariants for classes assert (kgs >= 0); //pre condition check assert (weight >= 0); //invariant check assert (weight >= 0); //invariant check Implement the classes. Compile them with jmlc. Run test cases. If an assertion is broaken, it results in a runtime error. Checks can be turned off for production use of the software Software Engineering 1 c Anne Haxthausen, Spring 2010 p Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 15 Java Modeling Language (JML) Invariants, pre and post conditions in JML JML is a specification language for Java programs follows the design by contract paradigm using Hoare style pre- and postconditions and invariants the specifications are added as Java annotation comments to the final Java program which hence can be compiled with any Java compiler JML verification tools: jmlc: an assertion checking compiler which converts JML annotations into runtime assertions The released tools only work with the Java 1.4 subset, but a new release for Java 1.6 is on its way. private int weight; invariant weight >= 0; requires kgs >= 0; ensures weight == \old(weight) + kgs; Software Engineering 1 c Anne Haxthausen, Spring 2010 p Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 16

5 Example of use of quantifiers in JML requires a!= && (\forall int i; 0 < i && i < a[i-1] <= int binarysearch(int[] a, int x) { Exercise: formulate a post condition JML Syntax (II) <JML assertion> = <Java expression>, but: must not have side effects (not using = neither directly nor indirectly, only call pure methods) can use extensions to Java: Syntax \result a ==> b a <== b a <==> b \old(e) (\forall T x; P; Q) (\exists T x; P; Q) meaning result of method call a implies b a implied by b a if and only if b value of E in pre-state x : T P = Q x : T P Q JML Syntax (I) Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 17 JML specifications are added to Java code as annotations in comments: <JML specification> <JML specifications>: requires <JML assertion> ensures <JML assertion> invariant <JML assertion> % pre condition % post condition Design by Contract Summary Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 19 Begreberne klasse invariant, pre-betingelse og post-betingelse. er prædikater "klient-programmer" må kun kalde en metode, når metodens pre-betingelser er opfyldt "leverandør-klasser" skal for hver af sine metoder garantere, at klasse-invarianter og post-betingelser er opfyldt efter hvert metode-kald, hvis pre-betingelser og invarianter var opfyldt lige før metodekaldet. For Java: Kan dokumenteres i programmer som kommentarer (evt. i JML syntaks). Kan checkes med JML tools, hvis de skrives i JML syntaks. Kan checkes med java -ea, hvis de skrives i assertions Software Engineering 1 c Anne Haxthausen, Spring 2010 p Software Engineering 1 c Anne Haxthausen, Spring 2010 p. 20

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag Hvem er vi? Kursus Introduktion Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom

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

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University

Læs mere

Kontraktbaseret Design. Anker Mørk Thomsen

Kontraktbaseret Design. Anker Mørk Thomsen Kontraktbaseret Design Anker Mørk Thomsen 5. marts 2014 -2 Kontraktbaseret Design Anker Mørk Thomsen 1. udgave ISBN: 9788740491500 Forord Bogen er blevet til gennem undervisning i faget Kontraktbaseret

Læs mere

8 Specifikation med Logiske Udtryk.

8 Specifikation med Logiske Udtryk. 8 Specifikation med Logiske Udtryk. Specifikation kontra program. Specifikation af funktioner. Specifikation af funktions-orienterede ADT-er. Integreret specifikation og program i Eiffel. Korrekthed af

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

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

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

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

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Design til digitale kommunikationsplatforme-f2013

Design til digitale kommunikationsplatforme-f2013 E-travellbook Design til digitale kommunikationsplatforme-f2013 ITU 22.05.2013 Dreamers Lana Grunwald - svetlana.grunwald@gmail.com Iya Murash-Millo - iyam@itu.dk Hiwa Mansurbeg - hiwm@itu.dk Jørgen K.

Læs mere

Linguistic support for unit testing

Linguistic support for unit testing Linguistic support for unit testing Af K. E. Gray & M. Felleisen Mads Bach-Sørensen mbs@cs.aau.dk 1. november 2007 1 Indhold Forfatterne TestJava Traditionel Unit-testing Sproglige Konstruktioner i TestJava

Læs mere

Lovkrav vs. udvikling af sundhedsapps

Lovkrav vs. udvikling af sundhedsapps Lovkrav vs. udvikling af sundhedsapps Health apps give patients better control User Data Social media Pharma Products User behaviour Relatives www Self monitoring (app) data extract Healthcare specialists

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

KALK- OG TEGLVÆRKSFORENINGEN. CPR Sustainable Construction

KALK- OG TEGLVÆRKSFORENINGEN. CPR Sustainable Construction CPR Sustainable Construction 1 Tommy Bisgaard - Direktør i Kalk- og Teglværksforeningen - Formand for DS 417 (CEN TC350 & 351) - Formand for miljøkomiteen i TBE & CU (keramiske industrier i Europa) - Medlem

Læs mere

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll Small Autonomous Devices in civil Engineering Uses and requirements By Peter H. Møller Rambøll BACKGROUND My Background 20+ years within evaluation of condition and renovation of concrete structures Last

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt

Læs mere

Ø3.2: Modellering af en PC

Ø3.2: Modellering af en PC Ø3.2: Modellering af en PC En PC består af en CPU og et bundkort: CPU er har følgende parametre: Slottypen: Slot A, Slot 1, Socket 7 Clockfrekvensen: 900 MHz, 1000 MHz, 1100MHz, 1200 MHz Modellen: Pentium

Læs mere

Objects First with Java A Practical Introduction Using BlueJ

Objects First with Java A Practical Introduction Using BlueJ Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet

Læs mere

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 Shooting tethered med Canon EOS-D i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 For Canon EOS-D ejere der fotograferer Shooting tethered med EOS-Utility eller

Læs mere

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528) Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

OCD DTU. Screening of aluminium in the offshore industry. Screening. DOC. NO. dokument 1 March 2007

OCD DTU. Screening of aluminium in the offshore industry. Screening. DOC. NO. dokument 1 March 2007 CVR: 27171877 VestJysk Bank: 7606 1064127 OCD DTU Screening of aluminium in the offshore industry Screening DOC. NO. dokument 1 March 2007 info@offshorecenter.dk Tel: +45 36973670 www.offshorecenter.dk../2

Læs mere

Cookie-reglerne set fra myndighedsside Dansk Forum for IT-ret 5. november 2012

Cookie-reglerne set fra myndighedsside Dansk Forum for IT-ret 5. november 2012 Cookie-reglerne set fra myndighedsside Dansk Forum for IT-ret 5. november 2012 Af Kontorchef Brian Wessel Program Status på gennemførelsen af reglerne i DK Udfordringerne og svar herpå Erhvervsstyrelsens

Læs mere

University of Copenhagen Faculty of Science Written Exam - 8. April 2008. Algebra 3

University of Copenhagen Faculty of Science Written Exam - 8. April 2008. Algebra 3 University of Copenhagen Faculty of Science Written Exam - 8. April 2008 Algebra 3 This exam contains 5 exercises which are to be solved in 3 hours. The exercises are posed in an English and in a Danish

Læs mere

Udfordringer med indeklima ved energirenovering

Udfordringer med indeklima ved energirenovering Udfordringer med indeklima ved energirenovering Geo Clausen International Centre for Indoor Environment and Energy Department of Civil Engineering Technical University of Denmark Questionnaire survey Henrik

Læs mere

FIST-GPS3 I N S T A L L A T I O N S I N S T R U K S

FIST-GPS3 I N S T A L L A T I O N S I N S T R U K S FIST-GPS3 I N S T A L L A T I O N S I N S T R U K S GPSTF-patchbakker monteret med prætermineret kabel UDARBEJDET I SAMARBEJDE MED TDC Indhold 1 General information 2 Kit indhold 3 Montering af skuffer

Læs mere

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF) Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Framework (TOGAF) Otto Madsen Director of Enterprise Agenda TOGAF og informationsarkitektur på 30 min 1. Introduktion

Læs mere

Interaktionsudvikling

Interaktionsudvikling Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html

Læs mere

Skriftlig Eksamen Automatteori og Beregnelighed (DM17)

Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Campus Lørdag, den 15. Januar 2005 Alle sædvanlige hjælpemidler (lærebøger, notater

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

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

Tabeller (I) Tabeller

Tabeller (I) Tabeller Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til

Læs mere

SEPA Direct Debit. Mandat Vejledning 2013.03.15. Nets Lautrupbjerg 10 DK-2750 Ballerup

SEPA Direct Debit. Mandat Vejledning 2013.03.15. Nets Lautrupbjerg 10 DK-2750 Ballerup SEPA Direct Debit Mandat Vejledning 2013.03.15 Nets Lautrupbjerg 10 DK-2750 Ballerup Indholdsfortegnelse 1. Indledning... 3 1.1 Tilknyttet dokumentation... 3 1.2 Kontakt til Nets... 3 2. Krav til SEPA

Læs mere

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology

02-03-2012. Sesam Automationstrend. Spørgsmål til leverandørerne? New Automation Technology New Automation Technology Sesam Automationstrend Sesam Automationstrend 1 Spørgsmål til leverandørerne? Hvorledes håndteres kundekrav til udviklingsplatformen, og hvorledes håndteres kundernes specielle

Læs mere

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com. 052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

Anvendelse af BPT til manuel test

Anvendelse af BPT til manuel test DIAS 1 Konference HP Test brugergruppen Anvendelse af BPT til manuel test Agenda DIAS 2 _ Præsentation af mig selv _Manuel BPT _ Manuel BPT i KMD _Konklusion _ Diskussion og spørgsmål Præsentation DIAS

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

Patentering af software

Patentering af software Patentering af software Hvad og hvordan? js@inspicos.com European Patent Attorney Overblik Hvad skal al balladen til for? Hvad står der i loven? Hvad gør man så for at beskytte sin software? Hvad kan man

Læs mere

Studieordning for diplomuddannelsen i informationsteknologi

Studieordning for diplomuddannelsen i informationsteknologi Studieordning for diplomuddannelsen i informationsteknologi April 2007 [v3] 1 Introduktion... 2 2 Formål... 2 3 Indhold... 2 4 Adgangskrav... 3 5 Eksaminer... 3 6 Studieplan... 3 6.1 Formelle modeller

Læs mere

Trolling Master Bornholm 2015

Trolling Master Bornholm 2015 Trolling Master Bornholm 2015 (English version further down) Sæsonen er ved at komme i omdrejninger. Her er det John Eriksen fra Nexø med 95 cm og en kontrolleret vægt på 11,8 kg fanget på østkysten af

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR ITSO SERVICE OFFICE Weeks for Sale 31/05/2015 m: +34 636 277 307 w: clublasanta-timeshare.com e: roger@clublasanta.com See colour key sheet news: rogercls.blogspot.com Subject to terms and conditions THURSDAY

Læs mere

Installation Venligst bemærk, håndpumpen kun må monteres i lodret position.

Installation Venligst bemærk, håndpumpen kun må monteres i lodret position. HP-1. HP-3. HP-. Hand Operated Håndpumpe The HP pump is a single acting hand operated pump made of stainless steel St.1.431 making it particularly applicable within the food industry and in environmentally

Læs mere

FAST FORRETNINGSSTED FAST FORRETNINGSSTED I DANSK PRAKSIS

FAST FORRETNINGSSTED FAST FORRETNINGSSTED I DANSK PRAKSIS FAST FORRETNINGSSTED FAST FORRETNINGSSTED I DANSK PRAKSIS SKM2012.64.SR FORRETNINGSSTED I LUXEMBOURG En dansk udbyder af internet-spil ønsker at etablere et fast forretningssted i Luxembourg: Scenarier:

Læs mere

29 Opsamling af Objekt-orienteret Programmering.

29 Opsamling af Objekt-orienteret Programmering. 29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker.

Læs mere

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension DK - Quick Text Translation HEYYER Net Promoter System Magento extension Version 1.0 15-11-2013 HEYYER / Email Templates Invitation Email Template Invitation Email English Dansk Title Invitation Email

Læs mere

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994.

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994. 12 Nedarvning III. Multipel nedarvning. Nedarvning og assertions. 169 Multipel nedarvning. A C Klassen C arver egenskaberne fra både A og. A og egenskaber er umiddelbart tilgængelige i C. x A C x x er

Læs mere

Introduktion. Philip Bille

Introduktion. Philip Bille Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

Remember the Ship, Additional Work

Remember the Ship, Additional Work 51 (104) Remember the Ship, Additional Work Remember the Ship Crosswords Across 3 A prejudiced person who is intolerant of any opinions differing from his own (5) 4 Another word for language (6) 6 The

Læs mere

Bilag 2 og 3 og værktøjer

Bilag 2 og 3 og værktøjer Bilag 2 og 3 og værktøjer Lars Erik Storgaard Geodatastyrelsen, laers@gst.dk Program for workshop Geodatastyrelsen Formål hvorfor workshop? Kvalificering af listen over myndigheder Temakammerater Opmærksomhed

Læs mere

QUICK START Updated: 18. Febr. 2014

QUICK START Updated: 18. Febr. 2014 QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get

Læs mere

Matematikken former morgendagens satellitter

Matematikken former morgendagens satellitter Matematikken former morgendagens satellitter Michael Lumholt Adm. Direktør ml@ticra.com "Fremtidens matematik" Maj 2014, KU/DTU Page 1 Agenda Kort introduktion til TICRA Eksempler på hvordan vi arbejder

Læs mere

Reexam questions in Statistics and Evidence-based medicine, august sem. Medis/Medicin, Modul 2.4.

Reexam questions in Statistics and Evidence-based medicine, august sem. Medis/Medicin, Modul 2.4. Reexam questions in Statistics and Evidence-based medicine, august 2013 2. sem. Medis/Medicin, Modul 2.4. Statistics : ESSAY-TYPE QUESTION 1. Intelligence tests are constructed such that the average score

Læs mere

SAS-programmering med sikkerhedsnet: FUTS (Framework for Unit Testing SAS programs)

SAS-programmering med sikkerhedsnet: FUTS (Framework for Unit Testing SAS programs) SAS-programmering med sikkerhedsnet: FUTS (Framework for Unit Testing SAS programs) Forkerte analyseresultater fra virksomhedens egen SAS-programmør kan have store omkostninger for virksomheden. Derfor

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?

Læs mere

Rettelse nr. / Correction no. 315-326. Søkortrettelser / Danish Chart Corrections på / via www.gst.dk

Rettelse nr. / Correction no. 315-326. Søkortrettelser / Danish Chart Corrections på / via www.gst.dk 29. juli 2016 28. årgang SØKORTRETTELSER 29 DANISH CHART CORRECTIONS 2016 Rettelse nr. / Correction no. 315-326 Kort / Chart Rettelse nr. / Correction no. Kort / Chart Rettelse nr. / Correction no. 82

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Managing stakeholders on major projects. - Learnings from Odense Letbane. Benthe Vestergård Communication director Odense Letbane P/S

Managing stakeholders on major projects. - Learnings from Odense Letbane. Benthe Vestergård Communication director Odense Letbane P/S Managing stakeholders on major projects - Learnings from Odense Letbane Benthe Vestergård Communication director Odense Letbane P/S Light Rail Day, Bergen 15 November 2016 Slide om Odense Nedenstående

Læs mere

Variansanalyse i SAS. Institut for Matematiske Fag December 2007

Variansanalyse i SAS. Institut for Matematiske Fag December 2007 Københavns Universitet Statistik for Biokemikere Det naturvidenskabelige fakultet Institut for Matematiske Fag December 2007 Variansanalyse i SAS 2 Tosidet variansanalyse Residualplot Tosidet variansanalyse

Læs mere

DONG-område Resten af landet

DONG-område Resten af landet TDC A/S regulering@tdc.dk Fremsendes alene via mail Tillægsafgørelse vedrørende fastsættelse af priser for BSA leveret via TDC s fibernet 1 Indledning traf fredag den 15. april 2011 LRAIC-prisafgørelse

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

Den uddannede har viden om: Den uddannede kan:

Den uddannede har viden om: Den uddannede kan: Den uddannede har viden om: Den uddannede kan: Den uddannede kan: Den studerende har udviklingsbaseret viden om og forståelse for Den studerende kan Den studerende kan Den studerende har udviklingsbaseret

Læs mere

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet. ATEX direktivet Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.dk tlf: 7220 2693 Vedligeholdelse af Certifikater / tekniske dossier / overensstemmelseserklæringen.

Læs mere

New Nordic Food 2010-2014

New Nordic Food 2010-2014 New Nordic Food 2010-2014 Mads Randbøll Wolff Senior adviser Nordic Council of Ministers New Nordic Food The questions for today concerning New Nordic Food: - What is the goal for New Nordic Food? - How

Læs mere

USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION

USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION P E R H E I S E L BERG I N S T I T U T F OR BYGGERI OG A N L Æ G BEREGNEDE OG FAKTISKE FORBRUG I BOLIGER Fra SBi rapport 2016:09

Læs mere

Automatic Code Orchestration from Descriptive Implementations

Automatic Code Orchestration from Descriptive Implementations ft her Automatic Code Orchestration from Descriptive Implementations older Professor Brian Vinter Niels Bohr Institute KU ft her Automatic Code Orchestration from Descriptive Implementations Prototypin

Læs mere

Algoritmer og Datastrukturer 1

Algoritmer og Datastrukturer 1 Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

SDHplus Solar District Heating in Europe

SDHplus Solar District Heating in Europe 1 SDHplus Solar District Heating in Europe WP2 SDH enabling buildings with high energy performance Task 2.1 Survey and horizontal review of the existing models D2.2 Information sheet on building legislation

Læs mere

Digital Forvaltning 3. kursusgang 21.9.04

Digital Forvaltning 3. kursusgang 21.9.04 Digital Forvaltning 3. kursusgang 21.9.04 Standardisering og innovation Opponentoplæg v. Niels Jørgensen Innovation CPR 1968 CPR 2004 Technology:.. A method, process etc. for handling a specific technical

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Projekt DATA step view

Projekt DATA step view Projekt DATA step view Af Louise Beuchert Formål Formålet med dette projekt, er at sammenligne tid/ressourcekonsekvenser ved at køre SASjobs på data hentet som henholdsvis en fysisk kopi af data filen

Læs mere

Bedømmelse af klinisk retningslinje foretaget af Enhed for Sygeplejeforskning og Evidensbasering Titel (forfatter)

Bedømmelse af klinisk retningslinje foretaget af Enhed for Sygeplejeforskning og Evidensbasering Titel (forfatter) Bedømmelse af klinisk retningslinje foretaget af Enhed for Sygeplejeforskning og Evidensbasering Titel (forfatter) Link til retningslinjen Resumé Formål Fagmålgruppe Anbefalinger Patientmålgruppe Implementering

Læs mere

Spørgsmål/svar (anonymiseret) Questions/answers (anonymised)

Spørgsmål/svar (anonymiseret) Questions/answers (anonymised) /svar (anonymiseret) s/answers (anonymised) received answered Answer 1 30/11/15 [ ] I am sending this mail on behalf of [ ], a [ ] company of the information technology sector. We have received a notification

Læs mere

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen.  og 052431_EngelskD 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau D www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Oplæg fra NHS`s baggrund for deres nye sundhedsprogram 2013-2016 - med fokus på ledelse. Oplægsholder: Inge Pia Christensen

Oplæg fra NHS`s baggrund for deres nye sundhedsprogram 2013-2016 - med fokus på ledelse. Oplægsholder: Inge Pia Christensen Oplæg fra NHS`s baggrund for deres nye sundhedsprogram 2013-2016 - med fokus på ledelse Oplægsholder: Inge Pia Christensen Improving the safety of patients in NHS 2013-16 The National Health Service (NHS)

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

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

Læs mere

Statistik for MPH: 7

Statistik for MPH: 7 Statistik for MPH: 7 3. november 2011 www.biostat.ku.dk/~pka/mph11 Attributable risk, bestemmelse af stikprøvestørrelse (Silva: 333-365, 381-383) Per Kragh Andersen 1 Fra den 6. uges statistikundervisning:

Læs mere

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

17 Søgning og Søgetræer.

17 Søgning og Søgetræer. 17 Søgning og Søgetræer. Lineær og inær søgning i lister. inære søgetræer. Søgning efter knude i træ. Indsættelse af knude i træ. Søgning i og sortering af inært søgetræ. Sletning af knude i inært søgetræ.

Læs mere

Modtageklasser i Tønder Kommune

Modtageklasser i Tønder Kommune Modtageklasser i Tønder Kommune - et tilbud i Toftlund og Tønder til børn, der har behov for at blive bedre til dansk TOFTLUND TØNDER Hvad er en modtageklasse? En modtageklasse er en klasse med særligt

Læs mere

RentCalC V2.0. 2012 Soft-Solutions

RentCalC V2.0. 2012 Soft-Solutions Udlejnings software Vores udvikling er ikke stoppet!! by Soft-Solutions RentCalC, som er danmarks ubetinget bedste udlejnings software, kan hjælpe dig med på en hurtigt og simple måde, at holde styr på

Læs mere

Bevisteknikker (relevant både ved design og verifikation)

Bevisteknikker (relevant både ved design og verifikation) Bevisteknikker 1 Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL)

DML, Foresprgsler Relationel algebra + noget mere! af skemaer (overlap m. DDL) SQL Stuctured Query Language, spiller roller som DDL, denere relationsskemaer m.v. DML, Foresprgsler Relationel algebra + noget mere! Opdatering af relationer af skemaer (overlap m. DDL) Hvem bruger SQL

Læs mere

Shared space - mellem vision og realitet. - Lyngby Idrætsby som case

Shared space - mellem vision og realitet. - Lyngby Idrætsby som case Downloaded from orbit.dtu.dk on: Jan 27, 2017 Shared space - mellem vision og realitet. - Lyngby Idrætsby som case Brinkø, Rikke Publication date: 2015 Document Version Peer-review version Link to publication

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

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

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

Læs mere

web concept tema 4 Hvordan kan man motivere børn til at spise mere frugt?

web concept tema 4 Hvordan kan man motivere børn til at spise mere frugt? tema 4 web concept Hvordan kan man motivere børn til at spise mere frugt? The objective for this project is to make a campaign that motivates children to eat more fruit. In the campaign there must be information

Læs mere