Virtual Storyteller overzicht Java Theorem Prover (JTP)
|
|
- Suzanna van der Wal
- 4 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Virtual Storyteller overzicht Java Theorem Prover (JTP) JTP is een object-geörienteerd redeneer systeem, geïmplementeerd in Java. In dit document wordt het opzetten van een simpel redeneersysteem in JTP behandeld. De onderdelen van het systeem worden een voor een behandeld. Verder wordt een aantal problemen die voor zouden kunnen komen op een rijtje gezet. Een beknopte javadocbeschrijving bij de klassen kan gevonden worden via de JTP website: De basisklasse voor een redeneersysteem is de Reasoning Context. Elke Reasoning Context in JTP stamt af van de basisklasse jtp.context.basicreasoningcontext. Representatie van kennis Kennis wordt gerepresenteerd in de Conjunctieve Normaal Vorm (Conjunctive Normal Form, CNF). Een stukje kennis in CNF bestaat uit een aantal clausules (Clauses), die allemaal waar zijn. Een clausule wordt intern gerepresenteerd als een verzameling van Literals en de logische operatoren NOT en OR. Kennis wordt geïmplementeerd in KIFzinnen (KIF: Knowledge Interchange Format). De kennis (A => B), (B => C) bestaat dus uit twee clausules, (A => B) en (B => C). De clausule A => B wordt in JTP gerepresenteerd als (NOT(B) OR (A)). A en B zijn beide een Literal. Een Literal bestaat uit een relatie en de argumenten waartussen die relatie geldt. Neem bijvoorbeeld de Literal (ancestor Mary Sue). ancestor is hier de relatie. De argumenten zijn Mary en Sue. Argumenten van een Literal kunnen ook variabelen zijn. Een variabele begint met een vraagteken (? ), met daar op volgend een aantal karakters. Op deze manier kan bijvoorbeeld transitiviteit worden uitgedrukt: (=> ((ancestor?x?y) (ancestor?y?z)) (ancestor?x?z) ) Kennisrepresentatie concreet in Java klassen: CNFSentence is een rijtje conjuncte Clauses, dus impliciet gecombineerd met een AND. Dus de CNFSentence met Clause A, B en C heeft een KIF-representatie (and (A) (B) (C)) Clause is een rijtje disjuncte Literals, dus impliciet gecombineerd met een OR. Dus de Clause met Literals A en B heeft een KIF-representatie (or (A) (B)) Literal is een simpele Clause die bestaat uit een relatie en argumenten waartussen de relatie geldt, in de vorm van Symbols. Bijvoorbeeld (father Jan Piet) definieert de
2 father relatie tussen Jan en Piet. Een Literal heeft ook een polariteit; is de polariteit van een Literal L false, dan is NOT(L) waar. Symbol is een (symbool-)element, met een package (die ook leeg kan zijn) en een name. owl:inverseof kan gerepresenteerd worden als een Symbol met package owl (of eigenlijk en name inverseof. Variable is een variabele, bijvoorbeeld?loc. Reasoning Context In JTP zijn verschillende omgevingen om te redeneren geimplementeerd. Elk van deze omgevingen biedt de mogelijkheid om kennis op te slaan (telling) en op te vragen (asking). Deze kennis wordt ingegeven d.m.v. KIF-zinnen, en worden door de reasoning context omgezet naar CNF. Intern worden deze CNF-feiten gebruikt om andere feiten af te leiden. Een Reasoning Context bestaat uit Reasoners en Dispatchers. Dispatchers ontvangen een query of een assertion en spelen die door naar een geschikte Reasoner. Telling reasoners verwerken kennis op een forward-chaining manier; ze verwerken consequenties van aangenomen kennis. Asking reasoners op hun beurt, verwerken kennis via backwardchaining; er worden steeds bewijzen gezocht bij queries. De meest simpele Reasoning Context is geimplementeerd in de klasse jtp.context.basicreasoningcontext. Deze context biedt mogelijkheden om assertions en queries te verwerken: - Assertions worden door een jtp.modelim.breadthfirstforwardreasoner reasoner uitbesteed aan een jtp.disp.sequentialdispatcher. - Queries worden door een jtp.context.iterativedeepening reasoner uitbesteed aan een jtp.disp.sequentialdispatcher. Om kennis op te kunnen slaan moet aan een BasicReasoningContext een jtp.gmp.clauseorientationkb worden toegevoegd. De feitelijke opslag van kennis gebeurt in deze klasse in de private-velden pos en neg. Gespecialiseerde contexten Binnen JTP bestaan er 2 uitbreidingen op de door de BasicReasoningContext geleverde basis context: De klassen jtp.frame.fc.context en jtp.frame.listen.context. Beide klassen bieden ondersteuning voor forward-chaining rules door middel van speciale reasoners, maar de manier waarop rules worden ondersteund verschilt in beide klassen. Een overzicht van de reasoners die worden gebruikt door jtp.frame.listen.context: - Telling reasoners: o jtp.frame.linkasserter o jtp.frame.listen.vclistenercreator o jtp.frame.slotvaluetellingreasoner (gekoppeld aan een FrameKB)
3 - Asking reasoners: o jtp.frame.slotvalueaskingreasoner (gekoppeld aan een FrameKB) De klasse jtp.frame.listen.context vormt de basis voor de klasse jtp.context.rdf.rdfcontext. Een RDFContext voegt de volgende reasoners toe aan de reeds over geërfde reasoners: o Asking reasoners: o jtp.frame.holdsreasoner o jtp.frame.enumeratingreasoner o jtp.func.inequal De klasse jtp.context.owl.owlcontext vormt een verdere specialisatie van de RDFContext. Een OWLContext voegt de volgende reasoners toe: o Telling reasoners: o jtp.frame.listen.dl.intersectiontypereasoner o jtp.classifier.classifiertellingreasoner
4 RDF/OWL functionaliteit zoals beschreven in wordt door JTP bereikt door de volgende bestanden te laden tijdens het opzetten van een RDF of OWL reasoning context: %JTP%/src/jtp/context/owl/owl-assumptions.kif %JTP%/src/jtp/context/owl/owl-rules.xml %JTP%/src/jtp/context/rdf/rdf-assumptions.kif %JTP%/src/jtp/context/rdf/rdf-rules.xml In de xml-bestanden zijn de zogenaamde forward-chaining regels gedefinieerd, de kifbestanden bevatten KIF-definities van OWL en RDF zoals: (rdfs:domain rdf:type rdfs:resource) (rdfs:range rdf:type rdfs:class) (rdf:type owl:thing owl:class) (owl:complementof owl:thing owl:nothing) Toevoegen van kennis Het toevoegen van kennis aan een reasoning context gebeurt middels het aannemen (assert-en) van feiten. Aangenomen feiten kunnen ervoor zorgen dat er forward-chaining regels worden geactiveerd, daarom zijn er twee manieren om kennis aan te nemen: de ene levert een ReasoningStepIterator als resultaat, de andere een integer. De Iterator kan gebruikt worden om handmatig door de forward-chained informatie te lopen, de integer geeft simpelweg het aantal nieuw geïmpliceerde feiten. Verder kan het feit dat aangenomen dient te worden op 2 manieren worden aangegeven: middels een codering als tekst, of als object-representatie. Dit leidt tot de volgende 4 methodes om een feit aan te nemen: int BasicReasoningContext.tell( Object assertion ) ReasoningStepIterator BasicReasoningContext.getAssertionResults( DirectAssertion assertion ) int BasicReasoningContext.tellString( String assertion, URL url ) ReasoningStepIterator BasicReasoningContext.getStringAssertionResults( String assertion ) Het verschil tussen het meegeven van een Object of String is dat wanneer een Stringrepresentatie wordt meegegeven, deze door de reasoning context eerst zal worden vertaald naar een DirectAssertion-object. Het verschil tussen de get... -methodes en de andere methodes, is het wel of niet doorgeven van de kennis aan de undo-manager. De methodes die een ReasoningStepIterator retourneren slaan het aangenomen feit niet op in de undo-manager. Een consequentie hiervan is dat feiten die via de get -methodes zijn toegevoegd aan de KB op een later tijdstip niet meer op te sommen zijn.
5 Opvragen van kennis Het opvragen van kennis gaat via het doen van een query aan de kennisbank. De context BasicReasoningContext biedt hiervoor de methode ask( String query ). De query wordt intern vertaald door de FirstOrderLogicTranslator van de context, die weer gebruik maakt van de parser die op dat moment in de context (zie setparser()) is ingesteld. JTP wijzigt soms intern de gebruikte parser (bijvoorbeeld wanneer een KB wordt geladen via loadrdfkb(), die een RDFParser instelt), vandaar dat het aan te raden is om ofwel direct de AskingReasoner van de context aan te roepen: getaskingreasoner().process(translator.translate( query )) Queries die uit een simpele Literal bestaan (bijvoorbeeld (fatherof?x?y)), worden afgehandeld door de model elimination theorem prover, die geimplementeerd is in de klasse jtp.modelim.modeleliminationreasoner. Wanneer een query echter meer complex vormgegeven is, komt deze via de AskingDispatcher terecht bij de jtp.modelim.askingqueryreasoner. Deze reasoner gaat op een bijzonder wijze om met de query: Er wordt een tijdelijke Literal aangemaakt die bestaat uit een hulp-naam $aux, en waarvan de variabelen de verzameling is van ongebonden variabelen uit de oorspronkelijke query. Er wordt een hulpregel toegevoegd aan de kennisbank. Deze hulpregel ziet eruit als: (query => $aux). Vervolgens wordt ($aux) als query aan de kennisbank gegeven. Op deze manier kan toch weer de model elimination theorem prover worden gebruikt. Een voorbeeld: stel, de query is (a?x => b?y). De vrije variabelen in deze query zijn?x en?y. Er wordt dus een hulp-literal aangemaakt: ($aux?x?y). Verder wordt deze regel toegevoegd aan de KB: ((a?x => b?y) => $aux?x?y). Intern wordt nu de query ($aux?x?y) doorgegeven aan de ModelEliminationReasoner. Een bijkomstigheid van het gebruik van de AskingQueryProcessor is dat de hulp-regels die toegevoegd worden aan de KB niet worden verwijderd. Wanneer hier geen rekening mee wordt gehouden, zal een groot aantal complexe queries dus leiden tot een steeds hogen geheugen-gebruik. Het is daarom raadzaam om vóór het stellen van een query een snapshot te maken via de UndoManager (zie hieronder). Antwoord op een query Het resultaat van een query is een ReasoningStepIterator, wat een belangrijke klasse is binnen JTP. Een instantie van de klasse jtp.reasoningstep is in wezen een bewijs van de query. Een ReasoningStep bestaat uit de volgende attributen: goal: de te bewijzen Literal. subgoals: wanneer de query geen literal is, maar een conjunctie van literals, vormt elke literal in de conjunctie een subgoal. subproofs: elke subgoal wordt bewezen in een eigen bewijs.
6 bindings: de vrije variabelen die in de stap voorkomen plus de waarden waarvoor ze gesubstitueerd zijn bij het vormen van het bewijs. Itereren van de kennisbank De kennis in een JTP reasoning context wordt opgeslagen in private velden in de klasse ClauseOrientationKB, en is dus niet direct opvraagbaar. In plaats daarvan kan kennis worden geïtereerd via de UndoManager klasse. Kennis die is aangenomen via de tell- methoden wordt door de undo-manager bijgehouden, zodat feiten later weer via untell kunnen worden ingetrokken. Deze functionaliteit is geëncapsuleerd in de klasse jtp.undo.snapshotundomanager. Het via deze klasse ophalen van aangenomen kennis gaat als volgt: 1. Via BasicReasoningContext.getUndoManager() wordt de undo-manager opgehaald. 2. Er wordt een snapshot shot gemaakt via SnapshotUndoManager.getSnapshot() 3. Kennis die sinds het maken van de snapshot via tell-methoden is aangenomen kan worden opgevraagd met de methode SnapshotUndoManager.getObjectsToldSinceSnapshot(). Packages De verschillende packages binnen JTP: jtp.cache voor cachen van een Knowledge Store (wordt niet gebruikt in JTP) jtp.classifier voor classificatie algoritmes (OWL) ( x heeft 4 muren en een dak dus x is een gebouw ) jtp.context Reasoning contexts (daml, rdf, owl) jtp.demod Lijkt iets te zijn met het kunnen transformeren van kennis (bv vervangen van literals en variabelen) jtp.disp Dispatchers (besteden queries uit naar reasoners) jtp.fol First order logic: de klassen waar kennis uit bestaat zoals CNFSentences, Clauses, Literals, Variables etc. Bevat ook parsers voor deze kennis (van String naar Java objecten) jtp.frame Alles voor frame-based reasoning -- jtp.frame.vocab Vocabulaire voor RDF, OWL etc. -- jtp.frame.fc Voor forward chaining (rules) -- jtp.frame.listen luistert naar binnenkomende kennis om gevolgen te trekken -- jtp.frame.vc Value collection, voor het zoeken erin en werken ermee jtp.func Functional reasoners -- jtp.func.math Mathematical reasoners jtp.gmp Modus Ponens reasoners jtp.iw InferenceWeb reasoners jtp.modelim Model elimination reasoners jtp.proof Afhandelen van bewijzen: goals, subgoals, en redeneer-regels zoals and-introduction jtp.rs ReasoningSteps
7 jtp.time jtp.ui jtp.undo jtp.util jtp Time reasoners User interface voor JTP Voor het retracten van knowledge Verschillende hulpklassen Basis-interfaces van veel klassen die in de subpackages uitgeweid worden JTP Gebruiken Bij het schrijven van een java-applicatie die gebruik maakt van JTP dienen de volgende files worden meegenomen in de classpath-parameter van java en javac: Antlr.jar Base64.jar http.jar icu4j.jar iiop.jar jade.jar jadetools.jar jakarta-oro jar jdom.jar jena.jar jtp.jar log4j.jar xercesimpl.jar xmlparserapis.jar
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieVerkenning adoptie W3C rdf/owl technologie voor IMxx/NEN modellen
Verkenning adoptie W3C rdf/owl technologie voor IMxx/NEN- 3610 modellen Project team: Hans Schevers (BuildingBits), Marcel Reuvers, Paul Janssen, Linda van den Brink, Versie 1.0 Doelstelling Verkenning
Nadere informatieEnterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling
Fir rst Base Enterprise Connectivity Marnix van Bo chove First Base: opgericht in 2001 TU Delft Elek ktrotechniek - 1998 Software Architect 20 jaar ervarin g met software ontwikkeling Presentatie Ideeën
Nadere informatie4 ASP.NET MVC. 4.1 Controllers
4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.
Nadere informatieNHibernate als ORM oplossing
NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een
Nadere informatieMS-Office documenten integratie via SAP PI
MS-Office documenten integratie via SAP PI Met behulp van het SAP Process Integration systeem (SAP PI) kun je op vele manieren je integratie regelen tussen je SAP systemen en/of andere systemen. Ook met
Nadere informatieOrganiseer uw verschillende SOAP services in één scenario
1 Organiseer uw verschillende SOAP services in één scenario Wouter Luijten wouterluijten@creetion.com 2 Introductie Tijdens de implementatie van een proces heeft u vaak te maken met een veelvoud aan services.
Nadere informatieIn deze les. Eerste orde logica. Elementen van EOL. Waarom eerste orde logica? Combinatie met logica. Variabelen en Kwantoren
In deze les Eerste orde logica Bart de Boer Waarom EOL? Syntax en semantiek van EOL Opfrisser Gebruik van EOL EOL in de Wumpus-wereld Waarom eerste orde logica? Eerste orde logica kan alles uitdrukken
Nadere informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2010-2011 21 juni 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief
Nadere informatieSYNTRA-WEST. Initiatiecursus JAVA. Deel
SYNTRA-WEST Initiatiecursus JAVA Deel Syntra-West Syntra-West (vroeger Vormingsinstituut West-Vlaanderen) Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST...
Nadere informatieLogic for Computer Science
Logic for Computer Science 06 Normaalvormen en semantische tableaux Wouter Swierstra University of Utrecht 1 Vorige keer Oneindige verzamelingen 2 Vandaag Wanneer zijn twee formules hetzelfde? Zijn er
Nadere informatieKleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Nadere informatie11 Selecties. Selectie versus snelselectie Planon FacilityOffice SE kent naast selecties ook nog snelselecties. Wat is nu het verschil?
11 Selecties Met behulp van de selectiefunctie bepaalt u welke elementen, bijvoorbeeld objecten, orders of personen u in de elementensectie wilt opnemen. U kunt bijvoorbeeld alle objecten uit het bouwjaar
Nadere informatieLes 15 : updaten van gegevens in de database (deel2).
Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken
Nadere informatieArtificiële intelligentie: les van 21 november 2002
Artificiële intelligentie: les van 21 november 2002 Nys Wim, wim.nys@vub.ac.be Gybels Kim, kim.gybels@vub.ac.be Leuse Tom, tom.leuse@vub.ac.be Heyse Wouter, wouter.heyse@vub.ac.be Frank Joris, frank.joris@vub.ac.be
Nadere informatieINFITT01 Internettechnologie WEEK 2
INFITT01 Internettechnologie WEEK 2 Programma Contexts Listeners Scope/Attributes Thread safety Taken container Een servlet draait in een container (servlet container). De container, die ten dienste van
Nadere informatieSparse columns in SQL server 2008
Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG
Nadere informatieicafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous
icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................
Nadere informatieSoftware Design Document
Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieTechnical Note. API Beschrijving Aangetekend Mailen
AUTHOR APPROVED Technical Note API Beschrijving Referentie: API beschrijving AM Versie: 0.0.7 Datum: 2015-07-24 Aangetekend Bellen B.V. Computerweg 5 Postbus 8307 3503 RH Utrecht T: +31 346 581 731 support@aangetekendmailen.nl
Nadere informatieBRP-BZM Use Case Realisations Guidelines
BRP-BZM Use Case Realisations Guidelines Versie 2.0 02-09-2011 Definitief Versiehistorie Datum Versie Auteur 23-12-2010 0.1 Eerste versie R.F. Schaaf 04-01-2011 1.0 Feedback verwerkt R. Schaaf en D. Geluk
Nadere informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Nadere informatieTechnisch Ontwerp W e b s i t e W O S I
Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept
Nadere informatieHOE TEKEN IK EEN OMGEVINGSMODEL
HOE TEKEN IK EEN OMGEVINGSMODEL MATTIAS DE WAEL 1. Inleiding Om de allereenvoudigste Scheme expressies te begrijpen volstaat het substitutiemodel. Het substitutiemodel verondersteld het bestaan van een
Nadere informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieNP-volledigheid. Algoritmiek
NP-volledigheid Polynomiale algoritmen of moeilijke problemen? Algoritme A is polynomiaal, als er een constante c bestaat, zodat het algoritme bij inputs van formaat n O(n c ) tijd gebruikt. Sommige problemen
Nadere informatieHoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.
Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de
Nadere informatieSQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003
SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets
Nadere informatieVerder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.
Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een
Nadere informatieAanpassingen versie 6.0
Nr. Onderdeel Aanpassing SR Algemeen 1 Bij Klantgegevens het geslacht van de klant meegeven. 2 Op de overzichtspagina van het klantenoverzicht i.p.v. Aanmelddatum de Statusdatum laten zien en de algemene
Nadere informatieKennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie
Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatiecase: ocl-expressies
Hoofdstuk 7 case: ocl-expressies In dit hoofdstuk worden de expressies ontwikkeld bij het domein-klassediagram van de case zoals dat in hoofdstuk 5 ontwikkeld is. Daarna worden de resterende stappen uit
Nadere informatieLeaflet Web Maps with qgis2leaf
Leaflet Web Maps with qgis2leaf QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0
Nadere informatiereturn an ; } private I L i s t l i j s t ;
In bovenstaande code werd de binding t e k s t. DataBindings. Add(new Binding ( Text, l i j s t, ) ) ; gebruikt om de eigenschap Text van het object tekst (dwz. tekst.text) te binden aan het object lijst.
Nadere informatieExamen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad
Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar 2006-2007 23 Januari, 2007 **BELANGRIJK** : Schrijf je naam onderaan dit blad Leg volgende 3 begrippen kort en bondig uit : a. Concurrent
Nadere informatieSQL datadefinitietaal
SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen
Nadere informatieProgrammeren in Java 3
26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class
Nadere informatieEen inleiding in de Unified Modeling Language 67
Een inleiding in de Unified Modeling Language 67 1.4.5. Toepassing 5: Klasse Kaart. De opdracht bestaat erin algemene klassen te maken zodanig dat het mogelijk wordt om het even welk kaartspel te maken.
Nadere informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief
Nadere informatieHandleiding. MED PLUS software
Handleiding MED PLUS software De MED PLUS software beschikt over een aantal functies waarmee instellingen en of functies aangepast kunnen worden in de MED11. Aansluiten van MED11 Sluit de MED SK PLUS interface
Nadere informatieDe API s van Floricode. Platforms on stage SIERTEELT(digi)TAAL 2018
De API s van Floricode Platforms on stage SIERTEELT(digi)TAAL 2018 Voorstellen Bernard van Raaij Voorzitter Werkgroep Standaarden Floricode Directeur Q-ray BV Werkgroep Standaarden Valt onder directie
Nadere informatieModeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013
Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag Januari 20 Opgave. Python Gegeven is de volgende (slechte) Python code:. def t(x): 2. def p(y):. return x*y
Nadere informatieTechnisch Ontwerp. Integratie Tekst-Plot. Versie 1.0. Datum 02 december 2010
Technisch Ontwerp Integratie Tekst-Plot Versie 1.0 Datum 02 december 2010 Status Definitief Colofon IVENT A&A CDC Madame Curielaan 4-6 Postbus 20703 2289 CA Rijswijk Contactpersoon Patrick Brooijmans Teamleider
Nadere informatieLekker snel XML met SQL (.nl)
Lekker snel met SQL (.nl In steeds meer opdrachten kom je als requirement tegen. Omdat het lekker makkelijk is of omdat de interface die je moet aanspreken het vereist. Dit is zeker het geval wanneer je
Nadere informatieBeschrijving JabberPoint met inwerkopdracht (versie 1.6)
Open Universiteit Design patterns Casus eindopdracht Beschrijving JabberPoint met inwerkopdracht (versie 1.6) 1 Algemeen overzicht JabberPoint ondersteunt het tonen van presentaties die worden ingelezen
Nadere informatieSQL Plan Management in Oracle11g Harald van Breederode
SQL Plan Management in Oracle11g Harald van Breederode Sinds de introductie van de Cost Based Optimizer (CBO) in Oracle7 hebben zowel database beheerders als database ontwikkelaars de wens om deze optimizer
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatiepublic Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;
Beschouw bijvoorbeeld de twee onderstaande klassen, waarvan de attributen en eigenschappen geannoteerd zijn met bijkomende XML-annotaties: using System ; using System. Xml ; using System. Xml. S e r i
Nadere informatieManageWare Pro Postbus 568 3700AN Zeist Tel.: 030-692 5701 Fax: 084-718 8468. Documentenbeheer
Documentenbeheer Inleiding ConsultManager heeft nu een professionele module om documenten te archiveren, te koppelen aan cliënten, artsen, etc., en te beheren. Het was al mogelijk om externe documenten
Nadere informatieAutomating Complex Workflows using Processing Modeler
Automating Complex Workflows using Processing Modeler QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons
Nadere informatieNoties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst
s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden
Nadere informatieExterne pagina s integreren in InSite en OutSite
Externe pagina s integreren in InSite en OutSite Document-versie: 1.1 Datum: 04-10-2013 2013 AFAS Software Leusden Niets uit deze uitgave mag verveelvoudigd worden en/of openbaar gemaakt worden door middel
Nadere informatieEtiketten printen met OpenOffice
Etiketten printen met OpenOffice Johan Henselmans Het is eenvoudig om met OpenOffice etiketten te printen. Hieronder de stappen: 1. Ga naar Extra,Gegevensbronnen en kies een gegevensbron of maak er een.
Nadere informatieAutomatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho.
Automatisering voor Financiële Dienstverleners Werken met Queries en Merge Documenten For more information visit our website at www.pyrrho.com Date: Document Nr: 30 maart, 2007 UBizzMerge, Versie 4.0 Status:
Nadere informatieProject Software Engineering XML parser: Parsen van een xml CD catalogus
Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een
Nadere informatieAutomatische Installatie op IIS server
Automatische Installatie op IIS server In de map Web staat het installatiebestand : Je kan de install starten door het aanklikken van het msi bestand vanuit Verkenner. Na installatie is steeds een manuele
Nadere informatieEen website maken met databasetoegang.
Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Nadere informatieNaam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50%
Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord
Nadere informatieDemo applicatie. Functionele Beschrijving SPITS
Demo applicatie Aantonen functioneren LogiFlor systematiek Functionele Beschrijving SPITS Standaardisatie Project Informatievoorziening Transport Sierteelt onderwerp: Functionele beschrijving Demo applicatie
Nadere informatieArtificiële Intelligentie 1. Kennissystemen. 22 oktober 2002
Artificiële Intelligentie 1 Kennissystemen 22 oktober 2002 Deze oefeningenles gaat over kennissystemen, één van de grootste succesverhalen van de kunstmatige intelligentie. We zullen zien wat kennissystemen
Nadere informatieOrbis Software. Debman4U. Release Notes2.10. Dit document bevat de Release Notes van Debman4U V2.10
Orbis Software Debman4U Release Notes2.10 Dit document bevat de Release Notes van Debman4U V2.10 Inhoudsopgave 1. 0 1. 1 1. 2 1. 3 1. 4 Belangrijkste nieuwe functionaliteiten Nieuw design Debman4U Ondersteuning
Nadere informatieMailmerge Auteur : Reint Endendijk Versie : 1.0 Datum : 25 juni 2010
Auteur : Reint Endendijk Versie : 1.0 Datum : 25 juni 2010 2 Volgens Wikipedia is mailmerge: Een software product dat een bestand (of database) van namen en adressen samenvoegt met een sjabloon, om zodoende
Nadere informatie2BA Deeplink Gebruiksbeschrijving
2BA Deeplink Gebruiksbeschrijving Document versie: 1.0 SCVN 02 Uitgiftedatum: 2006-5-1 Status: Conceptueel Auteur: 2BA Inhoudsopgave Inhoudsopgave... 2 1 Wat is deeplink?... 3 2 Deeplink gebruiken... 4
Nadere informatieHandleiding Magento - Asperion
Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur
Nadere informatieIBAN API. Simpel & krachtig. Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK
IBAN API Simpel & krachtig Documentatie : IBAN REST API Versie : 1.0 DE BETAALFABRIEK Introductie De Betaalfabriek IBAN API is een REST API om IBAN-conversie en validatie te integreren in uw administratiesysteem,
Nadere informatieZoemzinnen. Algemene info. Functies met een variabel aantal argumenten
Zoemzinnen Functies met een variabel aantal argumenten Bij het definiëren van een functie leg je in principe vast hoeveel argumenten er aan de functie moeten doorgegeven worden. Dit aantal correspondeert
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieAPPLICATION MANAGER. Gebruikershandleiding. Dit document beschrijft hoe Brain Force Application Manager gebruikt kan worden.
APPLICATION MANAGER Gebruikershandleiding AUTHEUR(S) Tom van Lint VERSIE [Versie] Concept KLANTNAAM BRAIN FORCE B.V. DATUM 9 april 2015 SAMENVATTING Dit document beschrijft hoe Brain Force Application
Nadere informatieDynamische webapplicaties in Java
Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages
Nadere informatieSoftware-Ontwikkeling I Academiejaar 2006-2007
Software-Ontwikkeling I Academiejaar 2006-2007 Project: Bibliotheekbeheer 1 1. Digitale bibliotheek a. Inleiding Bibliotheken houden onder meer hun collecties van uitleenbare artikels bij in digitaal formaat.
Nadere informatieMWW orders feed. Algemene orders feed in XML format
MWW orders feed Algemene orders feed in XML format Inhoudsopgave Algemeen... 3 Sleutel... 3 Versie... 3 URL... 3 Output... 3 Vragen?... 3 Changelog... 3 Veld definities... 4 Algemene informatie... 4 Orders...
Nadere informatieImporteren van grids uit de WADI database
Importeren van grids uit de WADI database Ministerie van Verkeer en Waterstaat Directoraat-Generaal Rijkswaterstaat Rijksinstituut voor Kust en Zee/RIKZ S O F T W A R E S O L U T I O N S Versies: Versie
Nadere informatieSelenium IDE Webdriver. Introductie
Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3
Nadere informatieGebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen
Gebruikers handleiding Lizard Configuration Manager ToolTip Installatie Installeer eerst het volgende: Installeer python 2.5.2; zie de map Breda\Tooltip\lcm\install\python-2.5.2.msi Ga naar dos (run/uitvoeren
Nadere informatieAPPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,
Nadere informatieDIAGNOSTISCHE TOETS Softwaresystemen UITWERKING
DIAGNOSTISCHE TOETS Softwaresystemen datum: Donderdag van Week 7 UITWERKING Deze diagnostische toets bevat vragen over excepties en concurrency. Beantwoord de vragen zo goed mogelijk in 30 minuten Bespreek
Nadere informatieWEBSECURITY INFORMATICA STUDENTENWERKING. Gemaakt door Bryan De Houwer en Yuri Moens
WEBSECURITY INFORMATICA STUDENTENWERKING Gemaakt door Bryan De Houwer en Yuri Moens ISW Informatica studentenwerking voor en door studenten Wat bieden wij aan: Workshops Shell accounts Altijd bereikbaar
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieCAK Installatiehandleiding
CAK Installatiehandleiding Versie 1.1 Applicatie om centraal de uren van de zorgaanbieders door de gemeente laten aanbieden aan het CAK. Eerst moeten de tabellen, views, packages etc worden aangemaakt.
Nadere informatieicafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous
icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous 2006-2007 Voorwoord 1 Inhoudsopgave 2 Hoofdstuk 1 Inleiding 3 Hoofdstuk 2 icafe 2.1 Het idee 2.2 Mogelijkheden
Nadere informatie1 Inleiding probleembeschrijving
Bas Weelinck (5985498), Merlijn Wajer (5948940), Koos van Strien (5783437) 18 mei 2010 1 Inleiding probleembeschrijving Volgens de specificaties gegeven in het opdrachtdocument moet een gedistribueerde
Nadere informatieImplementatie #-operator
Departement Wiskunde-Informatica Universiteit Antwerpen November 13, 2005 Book sample Book sample Tools Reïficatie Maak van de event method loan een method class Loan Non-reïficatie Genereer nieuwe properties
Nadere informatieTentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Nadere informatieKennismaken Greenfoot
HOOFDSTUK 1 Kennismaken met Greenfoot onderwerpen: de interface van Greenfoot, omgaan met objecten, methodes aanroepen, een scenario uitvoeren concepten: object, klasse, methode-aanroep, parameter, retourwaarde
Nadere informatieHandleiding. CRAB Read. Bevragingen op Lite CRAB. Agentschap voor Geografische Informatie Vlaanderen
Handleiding CRAB Read Bevragingen op Lite CRAB Agentschap voor Geografische Informatie Vlaanderen Inhoud Inhoud 2 1 Inleiding 3 2 Operaties en datatypes 4 2.1 Overzicht 4 2.2 Lite CRAB entiteiten 5 2.2.1
Nadere informatieSamenvoeging document syntax
Samenvoeging document syntax Kleos beschikt over een interne model- en tekstblokbewerker om de aanmaak en de bewerking van modellen en tekstblokken mogelijk te maken. U kunt hiervoor echter ook een externe
Nadere informatieLes 10 : Aanmaken van een database (deel2).
Les 10 : Aanmaken van een database (deel2). Wat is een database? Een centrale opslagruimte voor gegevens. Alle informatie wordt centraal opgeslagen en kan door iedereen geraadpleegd worden. Voordelen van
Nadere informatieProgrammeren in Java 3
2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang
Nadere informatieCCHR: De snelste CHR implementatie
CCHR: De snelste CHR implementatie Promotor: Prof. Dr. Bart Demoen Begeleider: Dr. ir. Tom Schrijvers Pieter Wuille 20 december 2006 1 Algemeen Waarom CCHR Structuur 2 Implementatie Mogelijkheden 3 Ontwerpbeslissingen
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieInformatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Nadere informatieFRESNEL FORMS. Een Protégé plugin voor het genereren van datasysteeminterfaces van datamodellen op het Semantic Web ABI TEAM 30
FRESNEL FORMS Een Protégé plugin voor het genereren van datasysteeminterfaces van datamodellen op het Semantic Web ABI TEAM 30 1 Even voorstellen Alex Mekkering Joop van de Heijning Teun Theunissen 2 Opzet
Nadere informatie