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

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

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

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

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter

Læs mere

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl.

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl. 9 Fejlhåndtering Årsagen til fejl Erkelse af fejl Håndtering af fejl Fejlerkelse og -håndtering i objekt-orienterede sprog Fejlerkelse og -håndtering i Eiffel Udbredelse af fejl i Eiffel Nuanceret fejlhåndtering

Læs mere

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

Læs mere

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. 26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive

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

Linear Programming ١ C H A P T E R 2

Linear Programming ١ C H A P T E R 2 Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation

Læs mere

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

Læs mere

.NET 4.0 og C# 4.0. Denne artikel beskriver nogle af de nye features i.net 4.0 og C# 4.0. Den forudsætter et vist kendskab til.net og C#.

.NET 4.0 og C# 4.0. Denne artikel beskriver nogle af de nye features i.net 4.0 og C# 4.0. Den forudsætter et vist kendskab til.net og C#. Denne guide er oprindeligt udgivet på Eksperten.dk.NET 4.0 og C# 4.0 Denne artikel beskriver nogle af de nye features i.net 4.0 og C# 4.0. Den forudsætter et vist kendskab til.net og C#. Skrevet den 14.

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

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

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

3C03 Concurrency: Model-based Design

3C03 Concurrency: Model-based Design 3C03 Concurrency: Model-based Design Wolfgang Emmerich 1 Outline Role of Modelling in System Development Refining Models into Designs FSP Actions and Operations FSP Processes and Threads FSP Processes

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

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

Læs mere

extreme Programming Kunders og udvikleres menneskerettigheder

extreme Programming Kunders og udvikleres menneskerettigheder extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet

Læs mere

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind

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

Revision af studieordninger

Revision af studieordninger Revision af studieordninger CS(it) Nye matematik kurser Reviderede studieordninger for Datalogi og Software til 2019 Revision af studieordninger v/ulrik Nyman 1 CS(IT) Formål: Reduktion i antallet af uddannelser:

Læs mere

YDEEVNEDEKLARATION. Nr DA. appendiks B 1 - B 4

YDEEVNEDEKLARATION. Nr DA. appendiks B 1 - B 4 YDEEVNEDEKLARATION Nr. 0069 DA 1. Varetypens unikke identifikationskode: fischer slaganker EA II 2. Tilsigtet anvendelse: Produkt Metalanker til brug i beton (svær befæstigelse) Anvendelsesområde/r Post-installeret

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

On the complexity of drawing trees nicely: corrigendum

On the complexity of drawing trees nicely: corrigendum Acta Informatica 40, 603 607 (2004) Digital Object Identifier (DOI) 10.1007/s00236-004-0138-y On the complexity of drawing trees nicely: corrigendum Thorsten Akkerman, Christoph Buchheim, Michael Jünger,

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

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

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret. Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling

Læs mere

Basic statistics for experimental medical researchers

Basic statistics for experimental medical researchers Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:

Læs mere

Black Jack --- Review. Spring 2012

Black Jack --- Review. Spring 2012 Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict

Læs mere

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0044 DA 1. Varetypens unikke identifikationskode: fischer slaganker EA II 2. Tilsigtet anvendelse: Produkt Metalanker til brug i beton (let befæstigelse) Anvendelsesområde/r Til

Læs mere

Oracle PL/SQL. Overview of PL/SQL

Oracle PL/SQL. Overview of PL/SQL Oracle PL/SQL John Ortiz Overview of PL/SQL Oracle's Procedural Language extension to SQL. Support many programming language features. If-then-else, loops, subroutines. Program units written in PL/SQL

Læs mere

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0081 DA 1. Varetypens unikke identifikationskode: fischer boltanker FAZ II 2. Tilsigtet anvendelse: Produkt Moment-kontrolleret ekspansionsanker Anvendelsesområde/r Post-installeret

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

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

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request

Læs mere

YDEEVNEDEKLARATION. Nr DA. Anvendelsesområde/r Post-installeret befæstigelse i ikke-revnet beton, Se appendiks, specifikt appendiks B 1 - B 3

YDEEVNEDEKLARATION. Nr DA. Anvendelsesområde/r Post-installeret befæstigelse i ikke-revnet beton, Se appendiks, specifikt appendiks B 1 - B 3 YDEEVNEDEKLARATION Nr. 0015 DA 1. Varetypens unikke identifikationskode: fischer ankerbolt FBN II, FBN II A4 2. Tilsigtet anvendelse: Produkt Moment-kontrolleret ekspansionsanker Anvendelsesområde/r Post-installeret

Læs mere

UNISONIC TECHNOLOGIES CO.,

UNISONIC TECHNOLOGIES CO., UNISONIC TECHNOLOGIES CO., 3 TERMINAL 1A NEGATIVE VOLTAGE REGULATOR DESCRIPTION 1 TO-263 The UTC series of three-terminal negative regulators are available in TO-263 package and with several fixed output

Læs mere

A multimodel data assimilation framework for hydrology

A multimodel data assimilation framework for hydrology A multimodel data assimilation framework for hydrology Antoine Thiboult, François Anctil Université Laval June 27 th 2017 What is Data Assimilation? Use observations to improve simulation 2 of 8 What is

Læs mere

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0020 DA 1. Varetypens unikke identifikationskode: fischer sikkerhedsanker FH II-I 2. Tilsigtet anvendelse: Produkt Moment-kontrolleret ekspansionsanker Anvendelsesområde/r Post-installeret

Læs mere

South Baileygate Retail Park Pontefract

South Baileygate Retail Park Pontefract Key Details : available June 2016 has a primary shopping catchment of 77,000 (source: PMA), extending to 186,000 within 10km (source: FOCUS) 86,000 sq ft of retail including Aldi, B&M, Poundstretcher,

Læs mere

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

University of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3 University of Copenhagen Faculty of Science Written Exam - 3. April 2009 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

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0078 DA 1. Varetypens unikke identifikationskode: fischer Betonskrue ULTRACUT FBS II 2. Tilsigtet anvendelse: Produkt Metalanker til brug i beton (svær befæstigelse) Anvendelsesområde/r

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

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

Ø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

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

Mandara. PebbleCreek. Tradition Series. 1,884 sq. ft robson.com. Exterior Design A. Exterior Design B.

Mandara. PebbleCreek. Tradition Series. 1,884 sq. ft robson.com. Exterior Design A. Exterior Design B. Mandara 1,884 sq. ft. Tradition Series Exterior Design A Exterior Design B Exterior Design C Exterior Design D 623.935.6700 robson.com Tradition Series Exterior Design A w/opt. Golf Cart Garage Exterior

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

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning

Side 1 af 9. SEPA Direct Debit Betalingsaftaler Vejledning Side 1 af 9 SEPA Direct Debit Betalingsaftaler Vejledning 23.11.2015 1. Indledning Denne guide kan anvendes af kreditorer, som ønsker at gøre brug af SEPA Direct Debit til opkrævninger i euro. Guiden kan

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

Financing and procurement models for light rails in a new financial landscape

Financing and procurement models for light rails in a new financial landscape Financing and procurement models for light rails in a new financial landscape Jens Hoeck, Partner, Capital Markets Services 8 November 2011 Content 1. Why a need for rethinking 2. Criteria for a rethought

Læs mere

Mandara. PebbleCreek. Tradition Series. 1,884 sq. ft robson.com. Exterior Design A. Exterior Design B.

Mandara. PebbleCreek. Tradition Series. 1,884 sq. ft robson.com. Exterior Design A. Exterior Design B. Mandara 1,884 sq. ft. Tradition Series Exterior Design A Exterior Design B Exterior Design C Exterior Design D 623.935.6700 robson.com Tradition OPTIONS Series Exterior Design A w/opt. Golf Cart Garage

Læs mere

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0016 DA 1. Varetypens unikke identifikationskode: fischer betonskrue FBS 5 og FBS 6 2. Tilsigtet anvendelse: Produkt Metalanker til brug i beton (let befæstigelse) Anvendelsesområde/r

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

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

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

OXFORD. Botley Road. Key Details: Oxford has an extensive primary catchment of 494,000 people

OXFORD. Botley Road. Key Details: Oxford has an extensive primary catchment of 494,000 people OXFORD Key Details: Oxford has an extensive primary catchment of 494,000 people Prominent, modern scheme situated in prime retail area Let to PC World & Carpetright and close to Dreams, Currys, Land of

Læs mere

YDEEVNEDEKLARATION. Nr DA

YDEEVNEDEKLARATION. Nr DA YDEEVNEDEKLARATION Nr. 0017 DA 1. Varetypens unikke identifikationskode: fischer betonskrue FBS, FBS A4 og FBS C 2. Tilsigtet anvendelse: Produkt Metalanker til brug i beton (svær befæstigelse) Anvendelsesområde/r

Læs mere

what is this all about? Introduction three-phase diode bridge rectifier input voltages input voltages, waveforms normalization of voltages voltages?

what is this all about? Introduction three-phase diode bridge rectifier input voltages input voltages, waveforms normalization of voltages voltages? what is this all about? v A Introduction three-phase diode bridge rectifier D1 D D D4 D5 D6 i OUT + v OUT v B i 1 i i + + + v 1 v v input voltages input voltages, waveforms v 1 = V m cos ω 0 t v = V m

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

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

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

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

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

CHAPTER 8: USING OBJECTS

CHAPTER 8: USING OBJECTS Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied

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

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

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

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

Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11

Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11 Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11 Story line 1 HiTag2: reverse-engineered proprietary cipher 2 Analytic tools are needed to investigate them 3 CryptoMiniSat: free software

Læs mere

User Manual for LTC IGNOU

User Manual for LTC IGNOU User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service

Læs mere

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A + Strings and Sets: A string over Σ is any nite-length sequence of elements of Σ The set of all strings over alphabet Σ is denoted as Σ Operators over set: set complement, union, intersection, etc. set concatenation

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

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

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

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture

Læs mere

Central Statistical Agency.

Central Statistical Agency. Central Statistical Agency www.csa.gov.et 1 Outline Introduction Characteristics of Construction Aim of the Survey Methodology Result Conclusion 2 Introduction Meaning of Construction Construction may

Læs mere

ATTRIBUTES MULTITHREADING DYNAMIC PROGRAMMING. Grundlæggende programmering Lektion 11

ATTRIBUTES MULTITHREADING DYNAMIC PROGRAMMING. Grundlæggende programmering Lektion 11 ATTRIBUTES DYNAMIC PROGRAMMING MULTITHREADING Grundlæggende programmering Lektion 11 1 ATTRIBUTES Information om adfærd 2 ATTRIBUTES En attribut er en deklarativ tag, der bruges til at formidle information

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

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

Brug af Educational IT i undervisningen: PollEverywhere. Associate Professor Carsten Bergenholtz

Brug af Educational IT i undervisningen: PollEverywhere. Associate Professor Carsten Bergenholtz Brug af Educational IT i undervisningen: PollEverywhere Associate Professor Carsten Bergenholtz (cabe@mgmt.au.dk) Department of Management / Institut for Virksomhedsledelse TATION Agenda Hvad er PollEverywhere?

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

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

Vina Nguyen HSSP July 13, 2008

Vina Nguyen HSSP July 13, 2008 Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between

Læs mere

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance) Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic

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

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

Listen Mr Oxford Don, Additional Work

Listen Mr Oxford Don, Additional Work 57 (104) Listen Mr Oxford Don, Additional Work Listen Mr Oxford Don Crosswords Across 1 Attack someone physically or emotionally (7) 6 Someone who helps another person commit a crime (9) 7 Rob at gunpoint

Læs mere

Particle-based T-Spline Level Set Evolution for 3D Object Reconstruction with Range and Volume Constraints

Particle-based T-Spline Level Set Evolution for 3D Object Reconstruction with Range and Volume Constraints Particle-based T-Spline Level Set for 3D Object Reconstruction with Range and Volume Constraints Robert Feichtinger (joint work with Huaiping Yang, Bert Jüttler) Institute of Applied Geometry, JKU Linz

Læs mere

Sikkerhedsvejledning

Sikkerhedsvejledning 11-01-2018 2 Sikkerhedsvejledning VIGTIGT! Venligst læs disse instruktioner inden sengen samles og tages i brug Tjek at alle dele og komponenter er til stede som angivet i vejledningen Fjern alle beslagsdele

Læs mere

ArbejsskadeAnmeldelse

ArbejsskadeAnmeldelse ArbejsskadeAnmeldelse OpretAnmeldelse 001 All Klassifikations: KlassifikationKode is an unknown value in the current Klassifikation 002 All Klassifikations: KlassifikationKode does not correspond to KlassifikationTekst

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

Recollections about the Development of Pascal. Niklaus Wirth ACM, 1993

Recollections about the Development of Pascal. Niklaus Wirth ACM, 1993 Recollections about the Development of Pascal Niklaus Wirth ACM, 1993 1 Niklaus Wirth, 73 Født i Schweiz, 1934 Ph.D., University of California, Berkeley, 1963 Assistant Professor of CS, Stanford University,

Læs mere

Engineering of Chemical Register Machines

Engineering of Chemical Register Machines Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization

Læs mere

Velkommen til IFF QA erfa møde d. 15. marts Erfaringer med miljømonitorering og tolkning af nyt anneks 1.

Velkommen til IFF QA erfa møde d. 15. marts Erfaringer med miljømonitorering og tolkning af nyt anneks 1. Velkommen til IFF QA erfa møde d. 15. marts 2018 Erfaringer med miljømonitorering og tolkning af nyt anneks 1. 1 Fast agenda kl.16.30-18.00 1. Nyt fra kurser, seminarer, myndighedsinspektioner, audit som

Læs mere

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Generalized Probit Model in Design of Dose Finding Experiments Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Outline Motivation Generalized probit model Utility function Locally optimal designs

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

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