Application Development with Protégé
|
|
|
- Whitney Jennings
- 10 years ago
- Views:
Transcription
1 07/18/2005 Page 1 Application Development with Protégé Samson Tu Ray Fergerson Overview Part I - Ray Protégé and Databases Protégé Application Designs API Application Designs Web Application Designs Part II - Samson Higher-Level Access to Protégé Knowledge Bases Problem Solving Methods (PSM s) Reasoning Systems (Algernon, Jess) Scripting Language Interfaces
2 07/18/2005 Page 2 What does Protégé Do? Answer: Nothing! Protégé is a tool. Allows you to create a model and collect information. Similar to, and just a useless as, a database. What you probably want is an application that does something useful How is Protégé Different from a Database? Emphasis on Model vs. Data Protege: Model is equal or more interest as data Database: Data is important, model is secondary Emphasis on Expressiveness over Performance Protégé: Richer modeling language inheritance relationships constraint overriding expressing webs of relationships Database: Simpler modeling language, optimized for speed
3 07/18/2005 Page 3 The Misleading Question Q: What can you do with technology X that you cannot do with related technology Y? A: (Usually) nothing Q: What can you do with Protégé that is impossible with a database? A: Nothing Q: What can you do with a database that is impossible with a file? A: Nothing Q: What can you do with Java that is impossible with assembly language? A: Nothing Phrasing the question as possible vs. impossible leads nowhere. The Real Question When is it easier, clearer, more straightforward to use X instead of Y? Preferable to have direct rather than simulated support for desired features. Simulation reduces clarity and portability Some simulation may be necessary, but the less the better Protégé might be better than a database when: Model consists of rich data, with many relationships that are often traversed. Requirements and application design are changing and not clearly specified. Protege is a good exploratory and experimentation environment. Quick iterations are possible between model, data, and application changes. Oversimplified Answer: Simple, flat, fixed model, speed paramount -> Database Complex, network-like, changing model with concept hierarchies -> Protégé
4 07/18/2005 Page 4 It doesn t have to be Either/Or Construct model in Protégé Initial implementations with Protégé Iterate until requirements/design is firm, initial data is input Generate database schema from Protégé model and populate database with Protégé instances Application Designs An Application Design that Doesn t Work Applications Designs that Do Work API level Application designs Web Application designs
5 07/18/2005 Page 5 An Application Design that Doesn t Work Idea: 1. Create Protégé Project with database backend 2. Create the classes and instances 3. Access the database tables directly with other applications Database tables are designed and optimized to work with a particular application in mind. The Protégé database table was designed with the Protégé application in mind The Protégé database table was NOT designed with your application in mind Instead access the data though the Protégé API. Protege API Applications Tab as application Standalone Application
6 07/18/2005 Page 6 Protégé Tab as An Application Description Create a custom tab plugin Configure Protégé to just display your tab Pros Simple Great for few users Iteration (change of model, data, app) is very easy Cons Protégé must be installed Difficult to permanently disable standard functions Stuck with Protégé menus, toolbar, etc No security on underlying model and data User really should know something about Protégé Standalone Application Description Write standalone Java Application Call into the Protégé API for knowledge base access Often evolves from a Tab Pros No need to install Protégé User doesn t need to know anything about Protégé Underlying model and data are as secure as you want Can use some or none of the Protégé UI, as desired Forms for classes and instances are available Some tabs will work Cons Iteration somewhat more difficult than as Tab
7 07/18/2005 Page 7 Standalone Application Example For code see: Protégé Over the Net Applets Java WebStart Servlets and Java Server Pages Protégé RMI server Custom server
8 07/18/2005 Page 8 Applets Applets are a standard Web Browser (Internet Explorer, Firefox) plugin for running Java programs inside a browser. By default the application runs in a sandbox No file system access Requires no application installation. Requires one installation of correct Java version Application is only available by going to a web page no offline capabilities Example: Protégé Web site demos Java WebStart WebStart is a standard Java mechanism for installing and running Java programs on a client. Application is automatically installed and started when the user hits a URL. Improvement on Applets: Handles Java VM updates Handles application updates Allows off line execution Allows application execution without starting browser
9 07/18/2005 Page 9 Servlets and Java Server Pages (JSP) Servlets are web server plugins written in Java. Called by accessing a particular URL. Control the design and content of the page sent to the caller s browser JSP are code written in a java-like-language embedded in a web page. This code can make calls to the web server and typically control the design and/or content of part of the page. Typically servlets (directly) and JSP s (indirectly) call into the Protégé API to access knowledge base elements and use this information to influence the design and content of web pages. Example: Protege Web Browser Remote Method Invocation (RMI) Server Standard Java remote procedure call mechanism. Used by the Protégé multi-user client. Provides programmatic access to Protégé API across the web. No need to export project access or database access Example: Protégé Multiuser Client/Server system.
10 07/18/2005 Page 10 Custom Server Wrap the Protégé API (or the part that you want to export) with your own API and then make it available with whatever network protocol you like. Example: Protégé CORBA Server Summary (of Part I) Protégé and Databases both have their places Standalone applications are easily built on Protégé Using only knowledge base Using also some/all of the Protégé UI Web applications are built on top of Protégé in variety of ways
11 07/18/2005 Page 1 Application Development: Part II Samson Tu, Ray Fergerson Stanford Medical Informatics Stanford University 8 th International Protégé Conference Madrid, Spain, July 2005 With thanks to Monica Crubezy and Olivier Dameron for lending their slides Overview Part I - Ray Protégé and Databases Protégé Application Designs API Application Designs Web Application Designs Part II - Samson Higher-Level Access to Protégé Knowledge Bases Problem Solving Methods (PSM s) Reasoning Systems (Algernon, Jess) Scripting Language Interfaces
12 07/18/2005 Page 2 Recap: Application Development Architecture Protégé knowledge base can be exported to database Protégé applications can take different forms Stand-alone application Tab plugin Web-based Applets Java WebStart Servlets and Java Server Pages Protégé RMI server Custom server Application Development Technology Java Protégé Knowledge Base Problem-Solving Methods Rule-Based Systems (JESS, Algernon) Client Data Scripting Languages
13 07/18/2005 Page 3 Problem-Solving Methods (PSMs) Standard, explicit algorithms that address stereotypical (Artificial Intelligence) tasks Design, classification, diagnosis, planning Domain-independent components that abstract the reasoning process from factual knowledge Reusable for different applications and domains Collected and indexed in libraries for reuse Heuristic classification in MYCIN Feature Abstraction Solution Refinement Leukopenia Compromised host Alcoholic Heuristic Match Immunosuppressed Pseudomonas Gram-negative infection E. coli WBC < 2.5 (After Clancey)
14 07/18/2005 Page 4 The Heuristic Classification PSM Feature Abstraction (feature space, abstractors) Solution Refinement (solution space, refiners) Abstract observables Raw observables Heuristic Match (matching rules, coverage criterion) Class of solutions Specific solution Heuristic classification for food & wines Feature Abstraction ( If alcohol level > 9% then strong flavor ) Solution Refinement ( Medoc is-a dry Red Bordeaux, Pauillac is-a full-body, strong-flavor Medoc ) full body, strong flavor, red color full body, alcohol content>10%, red color Heuristic Match Find wine with red color, full body, alcohol content > 10% Every observable as to be explained Class of wines Medoc Wine Wines to Recommend Château Laffitte Rotschild Pauillac (After KSL s Wine Agent)
15 07/18/2005 Page 5 To use PSM: Mapping domain to PSM I/O ontology Problem-Solving Method Method Input Ontology (observables, solution space, abstractors) Method Output Ontology (solution) Mapping (solution TO wine recommendation) Mapping (flavor, color, alcohol content TO observables) Domain Ontology (flavor, color, alcohol content, wine) Conceptual and syntactic mismatch Notion of a Desired features of wine Notion of an Input Case
16 07/18/2005 Page 6 Specify mappings as a Protégé knowledge base Problem-Solving Method Method Input Ontology (observables, solution space, abstractors) Method Output Ontology (solution) Mapping Ontology (solution TO wine recommendation) Each mapping is itself an instance of an ontology of possible mapping types Mapping Ontology (flavor, color, area TO observables) Domain Ontology (flavor, color, alcohol content, wine) Ontology-mapping approach Domain Knowledge Mapping Interpreter PSM Domain instances PSM input instances Domain Ontology Mapping Ontology (instances of mapping relations) Input-output Ontology
17 07/18/2005 Page 7 Mapping relations Domain Source Ontology Class S slot s1 slot s2 slot s3 slot s4} Instance mapping Slot mappings PSM I/O Target Ontology Class T slot ta slot tb slot tc Each instance of the PSM input class is calculated from an instance of the domain class The slot values of the PSM instance are computed according to slot-mapping expressions that involve the domain instance s slot values Instance mapping Mapping Wine recommendation query to Input case Renaming slot mapping
18 07/18/2005 Page 8 Slot mappings The target slot (tx) The slot-value computation expression, possibly involving source slots (si) local access to (sub)instance slot values: *<s1.s11>* Different types of slot mappings: renaming: value(ta) = value(s1) constant: value(tc) = constant lexical: value(tb) = *<s2>* / 20*<s3>* functional: value(tc) = function() recursive: value(ta) = instance (w/ auxiliary mapping) Recursive slot mapping Source Ontology Class S slot s1 (S ) Instance mapping recursive slot mapping Target Ontology Class T slot ta (T ) on-demand Instance mapping Class S Class T slot s 1 slot mappings slot t A slot t B
19 07/18/2005 Page 9 Mapping ontology Conditional mapping filtering of source instances one-to-many instance mapping Propagation of mappings to source subclasses Some degree of many-to-one instance mapping Many source KBs to one target KB mapping TCL and Python scripting for conditions, functional mappings, and other code Hook-ups for custom code at the global level: initialization & cleaning at the instance level: before/after all/each mapping Results of mapping interpretation Wine recommendation query instance Resulting Input case instance
20 07/18/2005 Page 10 PSM execution support (Demonstration) What PSMs are available? Protégé s PSM library Heuristic classification Propose and revise Task: Design sthat satisfy constraints Method: explicit algorithm of iterative constraintsatisfaction problem solving Input: parameters, constraints, fixes Output: valid design Sample problems Elevator design Ribosome structure given NMR data Literature: CommonKADs library Schreiber, G., et al. (2000). Knowledge Engineering and Management: The CommonKADS Methodology. Cambridge, MA, The MIT Press.
21 07/18/2005 Page 11 Concluding remarks on PSMs Benefits of the PSM approach Clear, systematic paradigm for modeling & annotating methods Support for browsing, selecting, configuring & executing methods Framework for empirical experiments, comparison & reuse Future of PSMs Organization of large-scale libraries of distributed PSMs Sharing of scientific data processing methods Framework for Semantic Web Services Application Development: Technology to Use Java Problem-Solving Methods Protégé Knowledge Base Rule-Based Systems (JESS, Algernon) Client Scripting Languages
22 07/18/2005 Page 12 High-level programming tools Programming paradigms that have been made interoperable with Protégé JessTab, Algernon: Rule-based programming Prolog tab: Logic-based programming Protégé Script Console, JessTab, Algernon: Scripting environment Uses Programmatically modification of Protégé KB Protégé extender e.g., query, enforce relationships Application development Java Expert System Shell (JESS) Developed at Sandia National Laboratory Free licensing for non-profit organizations Well supported, active user community Features Forward-chaining rule engine matches antecedent facts performs consequent actions Interpretive scripting language Integration with Java
23 07/18/2005 Page 13 Jess basics Collection of facts that can be constrained by templates (used-car (make toyota)(price 2000) (mileage 12000)) Rules that performs actions based on patterns of existing facts (forward chaining) (defrule might-buy-car?candidate <-(used-car (mileage?m&:(<?m 5000))) => (assert (candidate?candidate))) Functions for procedural programming (deffunction greaterthan5 (?x)(return (>?x 5)) Ability to call Java methods from within JESS (call?instance getdirecttype) Allow invocation of Protégé API calls from within JESS JessTab extensions to Jess and Protégé Jess console window in Protégé Functions for knowledge-base operations Mapping between Jess and Protégé Protégé classes mapped to a Jess fact template Protégé instances mapped to Jess facts and Jess facts mapped to instances Changes to mapped facts in Jess reflected in Protégé; changes in Protégé reflected in Jess
24 07/18/2005 Page 14 Jess console window in Protégé Defining classes and instantiating them Jess> (defclass Person (is-a :THING) (slot name (type string)) (slot age (type integer))) TRUE Jess> (make-instance john of Person (name "John") (age 20)) <External-Address:SimpleInstance> Jess> (mapclass Person) Person Jess> (facts) f-0 (object (is-a Person) (is-a-name "Person") (OBJECT <External-Address:SimpleInstance>) (age 20) (name "John")) For a total of 1 facts.
25 07/18/2005 Page 15 Modifying slots Jess> (slot-set john age 21) Jess> (facts) f-1 (object (is-a Person) (is-a-name "Person") (OBJECT <External-Address:SimpleInstance>) (age 21) (name "John")) For a total of 1 facts. Creating a second instance Jess> (make-instance sue of Person (name "Sue") (age 22)) <External-Address:SimpleInstance> Jess> (facts) f-1 (object (is-a Person) (is-a-name "Person") (OBJECT <External-Address:SimpleInstance>) (age 21) (name "John")) f-4 (object (is-a Person) (is-a-name "Person") (OBJECT <External-Address:SimpleInstance>) (age 22) (name "Sue")) For a total of 2 facts.
26 07/18/2005 Page 16 Adding a Jess rule Jess> (defrule twentyone (object (is-a Person) (name?n) (age?a&:(>=?a 21))) => (printout t "The person "?n " is 21 or older" crlf)) TRUE Jess> (run) The person John is 21 or older The person Sue is 21 or older 2 Jess> JessTab as Protégé extender: Query JessTab implements a set of query functions e.g., (find-all-instances instance-sets query) (deffunction findapplicableguideline(?pid) (return (find-all-instances ((?g Guideline)) (hasapplicablecontext?g?pid)))) (deffunction hasapplicablecontext ( )
27 07/18/2005 Page 17 JessTab as Protégé extender: Enforcing relationships Circumference of a circle = 3.14 * 2 * radius (defrule computecircumference?circle <-(object (is-a Circle)(radius?r&~nil)(circumference nil)) => (slot-set?circle circumference (* ?r)) ) (defrule unsetcircumference (object (is-a Circle)(radius nil)(circumference?c&~nil)(object?obj)) => (slot-unset?obj "circumference") ) Run rules in the background (reset) (run-until-halt) Circumference of circle automatically calculated from radius
28 07/18/2005 Page 18 JessTab as application development tool Knowledge base: Algorithm for managing upper respiratory infection (disclaimer: tutorial example, no medical content) Jess code to execute the clinical algorithm In CommonColdGuideline project, load and run application Jess> (batch d:/_shortcourse/projects/executionengine.clp) TRUE Jess> (runcase Assissi) Jess> (runcase "Assissi") Processing Context presentation of symptoms Processing Inquiry Assess symptoms Does patient have symptoms of other illness? (answer for for case Assissi)(yes or no) yes Is patient a smoker? (answer for for case Assissi)(yes or no) yes Does patient have asthma? (answer for for case Assissi)(yes or no) no Does patient have inhalant allergy? (answer for for case Assissi)(yes or no) no Processing Decision Home care? Processing OrderIntervention Referral **Recommendation**: order Referral
29 07/18/2005 Page 19 Algernon Developed by Micheal Hewitt Under active development Features Inference engine with interleaving of forward and backward chaining Operate directly on Protégé frames Access to multiple concurrent KBs Interpretive scripting languages Lisp Unix shell commands Integration with Java Algernon Protégé console window
30 07/18/2005 Page 20 Algernon basics A path that is a sequence of clauses: (relation frame value), where relation may be a slot or an Algernon macro ((date FluOrCold_Instance_0 2005/06/12 )) Variables that can be bound with values as a result of processing queries or of explicit assignment Find labels (?z) of instances (?y) of subclasses (?x) of Task ((:DIRECT-SUBCLASS Task?x)(:INSTANCE?x?y)(label?y?z)) Macros provide built-in relations and perform actions ((:ADD-CLASS (?x Concept)(:NAME?x AlgernonConcept))) Adding a hierarchy of classes ((:TAXONOMY (:THING (Plants (FloweringPlants (Roses) (Begonias Moms-Begonia-1) (Tulips Tulip-1 Tulip-2 Tulip-3) )) (Animals (Reptiles (Alligators) (Turtles)) ))))
31 07/18/2005 Page 21 Algernon rules Supposed we have a Component class with location, ordered, shipped, status, and last-update slots Forward chaining rules If a component is ordered, set its status as Reserved. ((ordered?x?date) -> (status?x Reserved) (last-update?x?date))
32 07/18/2005 Page 22 Backward chaining rules A component is onsite unless it has been sold. ((location?x ONSITE) <- (:FAIL (status?x Sold))) Query: Is (status component-1 Sold)? Supposed (location component-1 ONSITE) is true, then conclude (status component-1 Sold) is false Very good Algernon Tutorial:
33 07/18/2005 Page 23 Application Development: Technology to Use Java Problem-Solving Methods Protégé Knowledge Base Rule-Based Systems (JESS, Algernon) Client Scripting Languages Context / Problems Repetitive tasks ex: creation of lateralized concepts and their relationships Enumerations ex: Ribs Dependencies between concepts or relationships ex: Thorax / Skin of Thorax Ontology maintenance require ad hoc detection and fixing
34 07/18/2005 Page 24 Objective: Scripting environment for Protégé Create macros repetitive and error-prone tasks formalism for handling intrinsic complexity towards more abstraction Code reuse User-friendly and powerfull simple and intuitive syntax well formalised Architecture Principle Python interpreter in Java: Jython Thread (share address space with Protégé) Shared variable: kb Compatibility with frames and OWL instance of KnowledgeBase (Frames) instance of OWLKnowledgeBase (OWL)
35 07/18/2005 Page 25 Architecture 4. Protégé kb ProtegeScript 3. Jython 1. Python Code 2. Python Console Frames Get frame's attributes Create frame Create instances
36 07/18/2005 Page 26 Frames OWL Get classes' attributes Create class Create relations
37 07/18/2005 Page 27 OWL OWL
38 07/18/2005 Page 28 Example of using script to maintain knowledge base: Repetitive tasks Creation of a lateralized anatomical concept: Hand -create Hand - create subconcepts LeftHand and RightHand - define LeftHand = Hand on the LeftSide - Hand: either LeftHand or RightHand - LeftHand and RightHand are disjoint Repetitive tasks
39 07/18/2005 Page 29 Repetitive tasks createlateralizedconcept( Hand, Anat ): c = createconcept( Hand, AnatomicalConcept ) lc = createconcept( LeftHand, Hand ) rc = createconcept( RightHand, Hand ) define c = lc or rc define lc = c and LeftAnatomicalConcept define rc = c and RightAnatomicalConcept make lc and rc disjoint Repetitive tasks
40 07/18/2005 Page 30 Repetitive tasks Repetitive tasks
41 07/18/2005 Page 31 Repetitive tasks After classification: - LeftThumb - LeftIndex - LeftMiddleFinger - LeftRingFinger - LeftLittleFinger... are LeftFinger Ontology maintenance Make specific functions on the fly Reuse functions Dynamically insert / remove java listeners Take advantage of all the existing Java libraries (web services,...)
42 07/18/2005 Page 32 Conclusion Direct calls to the Protégé API => no limitations Jython => power of Python + Java Code reuse allow to hide the low-level Protégé API ProtegeScript is usefull :-) higher level functions from extensional to intentional description
Building Applications with Protégé: An Overview. Protégé Conference July 23, 2006
Building Applications with Protégé: An Overview Protégé Conference July 23, 2006 Outline Protégé and Databases Protégé Application Designs API Application Designs Web Application Designs Higher Level Access
JessTab: Using Jess together with Protégé. Henrik Eriksson
JessTab: Using Jess together with Protégé Henrik Eriksson Background Problems: Difficult to directly integrate problem solving and ontology development in Protégé Languages/shells need direct access to
Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach
Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach Martin Molina, Jose L. Sierra, Jose Cuena Department of Artificial Intelligence, Technical University
Supporting Rule System Interoperability on the Semantic Web with SWRL
Supporting Rule System Interoperability on the Semantic Web with SWRL Martin O Connor 1, Holger Knublauch 1, Samson Tu 1, Benjamin Grosof 2, Mike Dean 3, William Grosso 4, Mark Musen 1 1 Stanford Medical
The CLIPS environment. The CLIPS programming language. CLIPS production rules language - facts. Notes
The CLIPS environment The CLIPS environment CLIPS is an environment to develop knowledge based systems It defines a programming language that allows to represent declarative and procedural knowledge This
Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System
Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System Oana NICOLAE Faculty of Mathematics and Computer Science, Department of Computer Science, University of Craiova, Romania [email protected]
Sisense. Product Highlights. www.sisense.com
Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze
The Semantic Web Rule Language. Martin O Connor Stanford Center for Biomedical Informatics Research, Stanford University
The Semantic Web Rule Language Martin O Connor Stanford Center for Biomedical Informatics Research, Stanford University Talk Outline Rules and the Semantic Web Basic SWRL Rules SWRL s Semantics SWRLTab:
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
Ontology for Home Energy Management Domain
Ontology for Home Energy Management Domain Nazaraf Shah 1,, Kuo-Ming Chao 1, 1 Faculty of Engineering and Computing Coventry University, Coventry, UK {nazaraf.shah, k.chao}@coventry.ac.uk Abstract. This
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
Course Name: Course in JSP Course Code: P5
Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: [email protected] Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
Lecture 18 of 42. Lecture 18 of 42
Knowledge Representation Concluded: KE, CIKM, & Representing Events over Time Discussion: Structure Elicitation, Event Calculus William H. Hsu Department of Computing and Information Sciences, KSU KSOL
Advanced Service Design
vcloud Automation Center 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions
Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
SQL Server 2005 Reporting Services (SSRS)
SQL Server 2005 Reporting Services (SSRS) Author: Alex Payne and Brian Welcker Published: May 2005 Summary: SQL Server 2005 Reporting Services is a key component of SQL Server 2005. Reporting Services
Applets, RMI, JDBC Exam Review
Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java
Redpaper Axel Buecker Kenny Chow Jenny Wong
Redpaper Axel Buecker Kenny Chow Jenny Wong A Guide to Authentication Services in IBM Security Access Manager for Enterprise Single Sign-On Introduction IBM Security Access Manager for Enterprise Single
Data management by Autodesk
Autodesk Vault Workgroup 2015 Data management by Autodesk Autodesk Vault helps design, engineering, and manufacturing workgroups manage Digital Prototyping information. In order to provide Autodesk Productstream
A Tool for Evaluation and Optimization of Web Application Performance
A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 [email protected] Michael J. Donahoo 2 [email protected] Abstract: One of the main goals of web application
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Jambalaya: Interactive visualization to enhance ontology authoring and knowledge acquisition in Protégé
Jambalaya: Interactive visualization to enhance ontology authoring and knowledge acquisition in Protégé Margaret-Anne Storey 1,4 Mark Musen 2 John Silva 3 Casey Best 1 Neil Ernst 1 Ray Fergerson 2 Natasha
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS A REVIEW
ONTOLOGY VISUALIZATION PROTÉGÉ TOOLS A REVIEW R. Sivakumar 1 and P.V. Arivoli 2 1 Associate Professor, Department of Computer Science, A.V.V.M. Sri Pushpam College, Bharathidasan University, Trichirappalli,
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS ZORAN JEREMIĆ, VLADAN DEVEDŽIĆ, DRAGAN GAŠEVIĆ FON School of Business Administration, University of Belgrade Jove Ilića 154, POB 52, 11000 Belgrade,
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Top Weblogic Tasks You can Automate Now
Top Weblogic Tasks You can Automate Now Session ID#: 10506 Prepared by: Mrityunjay Kant Practice Manager, SOA & Integration Services AST Corporation @MrityunjayKant REMINDER Check in on the COLLABORATE
Design and Implementation of a Semantic Web Solution for Real-time Reservoir Management
Design and Implementation of a Semantic Web Solution for Real-time Reservoir Management Ram Soma 2, Amol Bakshi 1, Kanwal Gupta 3, Will Da Sie 2, Viktor Prasanna 1 1 University of Southern California,
MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems
OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,
A QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
SurfCop for Microsoft ISA Server. System Administrator s Guide
SurfCop for Microsoft ISA Server System Administrator s Guide Contents INTRODUCTION 5 PROGRAM FEATURES 7 SYSTEM REQUIREMENTS 7 DEPLOYMENT PLANNING 8 AGENTS 10 How It Works 10 What is Important to Know
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)
CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
Annotea and Semantic Web Supported Collaboration
Annotea and Semantic Web Supported Collaboration Marja-Riitta Koivunen, Ph.D. Annotea project Abstract Like any other technology, the Semantic Web cannot succeed if the applications using it do not serve
Implementação. Interfaces Pessoa Máquina 2010/11. 2009-11 Salvador Abreu baseado em material Alan Dix. Thursday, June 2, 2011
Implementação Interfaces Pessoa Máquina 2010/11 2009-11 baseado em material Alan Dix 1 Windowing systems Architecture Layers Higher level Tool UI Toolkit (Widgets) Window System OS Application Hardware
Expert Systems : AI Course Lecture 35 36, notes, slides www.myreaders.info/, RC Chakraborty, e-mail rcchak@gmail.
Expert Systems : AI Course Lecture 35 36, notes, slides www.myreaders.info/, RC Chakraborty, e-mail [email protected], June 01, 2010 www.myreaders.info/html/artificial_intelligence.html www.myreaders.info
OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents
Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.
C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Software Automated Testing
Software Automated Testing Keyword Data Driven Framework Selenium Robot Best Practices Agenda ² Automation Engineering Introduction ² Keyword Data Driven ² How to build a Test Automa7on Framework ² Selenium
BUSINESS RULES MANAGEMENT AND BPM
KINGSTON & CROYDON BRANCH BUSINESS RULES MANAGEMENT AND BPM WHO'S MANAGING YOUR RULES? Paul Vincent Rules Specialist and Product Management Fair Isaac October 12, 2005 Agenda Business Rules Approach a
Introductory Concepts
Introductory Concepts 5DV119 Introduction to Database Management Umeå University Department of Computing Science Stephen J. Hegner [email protected] http://www.cs.umu.se/~hegner Introductory Concepts 20150117
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology [email protected] Fall 2007
Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology [email protected] Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application
CS 40 Computing for the Web
CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions
Technical Information Abstract
1/15 Technical Information Abstract Disclaimer: in no event shall Microarea be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits,
CURRICULUM VITAE EDUCATION:
CURRICULUM VITAE Jose Antonio Lozano Computer Science and Software Development / Game and Simulation Programming Program Chair 1902 N. Loop 499 Harlingen, TX 78550 Computer Sciences Building Office Phone:
Authoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
DIGIPASS Authentication for Microsoft ISA 2006 Single Sign-On for Outlook Web Access
DIGIPASS Authentication for Microsoft ISA 2006 Single Sign-On for Outlook Web Access With IDENTIKEY Server / Axsguard IDENTIFIER Integration Guidelines Disclaimer Disclaimer of Warranties and Limitations
1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
Change Management for Rational DOORS User s Guide
Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational
A GENERALIZED APPROACH TO CONTENT CREATION USING KNOWLEDGE BASE SYSTEMS
A GENERALIZED APPROACH TO CONTENT CREATION USING KNOWLEDGE BASE SYSTEMS By K S Chudamani and H C Nagarathna JRD Tata Memorial Library IISc, Bangalore-12 ABSTRACT: Library and information Institutions and
Business Rule Standards -- Interoperability and Portability
Rule Standards -- Interoperability and Portability April 2005 Mark H. Linehan Senior Technical Staff Member IBM Software Group Emerging Technology [email protected] Donald F. Ferguson IBM Fellow Software
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture
A Generic Database Web Service
A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey [email protected] Yanchao Wang and Swetha Desetty Georgia State University
Novell Identity Manager
AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with
JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. JAVA ENTERPRISE IN A NUTSHELL Third Edition Jim Farley and William
8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION
- 1-8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION 8.1 Introduction 8.1.1 Summary introduction The first part of this section gives a brief overview of some of the different uses of expert systems
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
YouTrack MPS case study
YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project
Functional Requirements for Digital Asset Management Project version 3.0 11/30/2006
/30/2006 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 20 2 22 23 24 25 26 27 28 29 30 3 32 33 34 35 36 37 38 39 = required; 2 = optional; 3 = not required functional requirements Discovery tools available to end-users:
Version Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren [email protected] Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)
Rational Rational ClearQuest
Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Before using this information, be
Certified Selenium Professional VS-1083
Certified Selenium Professional VS-1083 Certified Selenium Professional Certified Selenium Professional Certification Code VS-1083 Vskills certification for Selenium Professional assesses the candidate
Authoring Within a Content Management System. The Content Management Story
Authoring Within a Content Management System The Content Management Story Learning Goals Understand the roots of content management Define the concept of content Describe what a content management system
Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.
Architectural Patterns Architectural Patterns Dr. James A. Bednar [email protected] http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson [email protected] http://www.inf.ed.ac.uk/ssp/members/dave.htm
Release Document Version: 1.4-2013-05-30. User Guide: SAP BusinessObjects Analysis, edition for Microsoft Office
Release Document Version: 1.4-2013-05-30 User Guide: SAP BusinessObjects Analysis, edition for Microsoft Office Table of Contents 1 About this guide....6 1.1 Who should read this guide?....6 1.2 User profiles....6
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
ISCS - A TOOL KIT FOR CONSTRUCTING KNOWLEDGE-BASED SYSTEM CONFIGURATORS
From: AAAI-86 Proceedings. Copyright 1986, AAAI (www.aaai.org). All rights reserved. ISCS - A TOOL KIT FOR CONSTRUCTING KNOWLEDGE-BASED SYSTEM CONFIGURATORS Harry Wu, Hon Wai Chun, Alejandro Mimo Honeywell
-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*
-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6
USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE
USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
Certified The Grinder Testing Professional VS-1165
Certified The Grinder Testing Professional VS-1165 Certified The Grinder Testing Professional Certified The Grinder Testing Professional Certification Code VS-1165 Vskills certification for The Grinder
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
How to utilize Administration and Monitoring Console (AMC) in your TDI solution
How to utilize Administration and Monitoring Console (AMC) in your TDI solution An overview of the basic functions of Tivoli Directory Integrator's Administration and Monitoring Console and how it can
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
