Déjà Vu: A Hierarchical Case-Based Reasoning System for Software Design

Size: px
Start display at page:

Download "Déjà Vu: A Hierarchical Case-Based Reasoning System for Software Design"

Transcription

1 Déjà Vu: A Hierarchical Case-Based Reasoning System for Software Design Barry Smyth Hitachi Dublin Laboratory Trinity College Dublin 2 Ireland. Tel Fax bsmyth@vax1.tcd.ie Pádraig Cunningham Hitachi Dublin Laboratory Trinity College Dublin 2 Ireland. Abstract Déjà Vu is a case-based reasoning system for software design. This paper describes the hierarchical case-base in Déjà Vu and the blackboard based architecture that controls reasoning with this case-base. The case-base is structured as a partonomic hierarchy. Each complete solution in the case base is represented by a top-level case describing the outline of the solution. This top-level case contains pointers to several 'detail cases' representing the modules that make up the solution. In addition the case base has a taxonomic structure that facilitates case retrieval. The partonomic structure of the case base requires that the case base reasoning process is multi-stage rather than the singlepass retrieval process that is normal in case-base reasoning. In Déjà Vu a solution is built by first retrieving and adapting a top-level case and then retrieving and adapting detail cases to build up this solution. The control issues introduced by this multi-stage case-base reasoning is addressed by organising the system as a blackboard system with dedicated control agents organising the reasoning process. 1

2 1. Introduction This paper describes a case-based reasoning system for software design. The system is novel to the extent that using it to generate a new solution involves several interations of the case-base reasoning (CBR) process. This requires that the case-base have a hierarchical structure and means that the control process is more complex than in single-pass CBR systems. Case-based reasoning is motivated in large part by the intuition that much of human expert competence works by retrieving and modifying previously solved problems stored in memory. One promising area of application for CBR is in software engineering. The intuition about human expert competence working by retrieving and adapting past solutions holds - the systems programmer who wishes to produce a script for a particular purpose will retrieve a similar script and adapt it. The question for CBR research in software engineering is can this process be formalised into an automatic software development system. Attempts at using CBR in software development have the advantage that the software development process can be formalised and there has been extensive research in automatic programming and formal methods. Indeed the main difficulty in automatic programming is the huge search process involved in transforming the specification into executable code. This is precisely the issue that is addressed by using CBR in software design - in that transforming the retrieved solution to solve the target problem is expected to be easier than producing that solution from transformations on the initial specification. This advantage of formalization is offset to some extent by the 'brittleness' of the programming domain. A piece of code cannot be slightly wrong; this is in contrast to other CBR applications where a family of solutions are acceptable. Our experience has been that this problem of brittleness is exacerbated if the solution is to be in a comparatively low level language. The more remote the solution is from the input specification the more difficult it is to automate the adaptation process. The Déjà Vu system described here works with a control programming language that is very high level and consequently the adaptation process is more tractable. This plant control problem domain will be described in the next section before discussing the details of the CBR system. Déjà Vu's hierarchical case base structure is described in section 3 and its blackboard control architecture in section Problem Domain As mentioned in the introduction, the main difficulty in using CBR for software design is the problem of adapting the solution in the base case to fit the requirements of the target specification. This problem is relieved in our situation because the solution is expressed in a very high level representation. The solution is consequently closer to the problem specification so reasoning from specifications to solutions is more tractable. We are concerned with plant control software for controlling autonomous vehicles in loading and unloading metal coils in a steel milling process. Much work has already been done in automating the actual generation of the plant controller code [Sakurai '90] thus providing a large amount of initial cases for the case base. The input to this code generation system is a network representation of the operation procedure, an example of which is shown in the solution window in Figure 1. The code generation system compiles this network representation into executable code. 2

3 { CB } Edit Instance: F-BUGGY-1S Child of FORWARD-BUGGY Slot Names: Selected Feature Slot: DESTINATION Filler: TENSION-REEL Case Id. Internal Features Solution: Feature Value Buggy Fast Forward Position Check Decelerate (200m Before Tension Reel) Buggy Slow Forward Stop (Tension Reel Position) Buggy Stop Network Representation Figure 1. An example case from the Déjà Vu case-base as presented in the case browser. This example is a detail or module case that is part of a top-level solution in the case-base. The toplevel case to which it belongs involves removing a coil of worked steel from a steel mill. All the cases under consideration involve loading or unloading empty spools or coils of material and moving them to storage areas. The different cases involve different arrangements of the spindles on which the reels are loaded and different layouts of the storage areas for reels and empty spools. The objective with Déjà Vu is to receive a problem statement such as "Remove Spool from tension Reel with Single Speed Buggy" given a particular shop floor layout and to produce a solution that can be compiled into executable code. The first step involves producing a full specification of this case that will be the basis of the CBR process. 3. Hierarchical Case Base We mentioned already that the case shown in Figure 1 is a detailed case that is part of a more elaborate solution. Each solution in the case-base is stored as several cases, one top level case and detailed cases representing the components of the top level case (the architecture will support intermediate levels if necessary). In Figure 2 f-buggy-1s is a detailed case and r-spool-1sbuggy is a top-level case. This is in contrast to traditional CBR systems where each case represents a complete solution at the level of the planners's primitive actions. This partonomic structure adds greater flexibility to the CBR component of Déjà Vu and supports the recursive nature of a Déjà Vu problem solving episode. When presented with a target problem Déjà Vu retrieves a 'best' plan, a top-level case (TLC), from the case-base. The adaptation of this TLC invokes further retrievals corresponding to its internal low-level components. However the detailed cases (DCs) retrieved will typically be different from those indicated by the retrieved TLC since retrieval will be on the basis of some element of the target specification. Thus, numerous retrievals guided by the initial TLCs structure will result in a collection of code components which are adapted to conform to the target situation, and then integrated to form a complete target solution (see Section 4). Individual cases are indexed by a set of classification features which locate the case within a taxonomy of case types reflecting the functionality of plant-model planning [Hammond '89] (see Figure 2). Each classification feature is represented by a type node in the case-base and defines a particular set of internal features. Actual cases are stored in case nodes and contain both the case solution and an internal feature set providing a description of the case goals. The features available to a case node are those inherited from its superclasses. The main advantage of this taxonomic structure is the increased efficiency of the retrieval process. 3

4 *Program* Stepping Buggy f-buggy-1s Detailed Case r-spool-1s-buggy f-buggy-1s l-spool b-buggy-1s u-spool Spool b-buggy-1s b-buggy-2s r-spool-1s-buggy l-spool u-spool Removal r-spool-1s-buggy Move Forward f-buggy-1s Top-Level Case Key: Type Node Case Node Figure 2. A portion of the case base viewed as a taxonomy, the insert shows the partonomic structure of one of the top-level cases. The retrieval process is a two-step operation. The first step uses the classification features of the target specification to locate a number of case-clusters. The classification features reflect the structure of the problem domain and thus this first retrieval step will retrieve a set of cases which are similar to the target problem. The second stage matches the internal features of the target against the internal features of each case retrieved by the previous step and results in the retrieval of a single, 'best' case. Determination of 'best' case is based on a similarity metric which estimates the adaptation distance from the base to the target case (i.e. a measure of the 'work' needed to adapt the base case to the target case). 4. Blackboard Solution The fact that the Déjà Vu is a multi-pass rather than a single pass system as is normally the case in CBR introduces a problem of control into the system. This problem is addressed by organising the system as a blackboard with the solution being built upon the panels of the blackboard by the different knowledge agents (see Figure 3). There are four knowledge agents in the current system. Two of these agents are high level agents controlling the dissection of the problem and the composition of the solution; these are the Specification Analysis and Integration Agents respectively. The two low level agents are the Retrieval agent and the Adaptation agent; these perform the details of the CBR. (see also [Nii '86] and [Cunningham '91] on blackboards) Retrieval Agent Case Base Case Specification Operation: Move Forward Object :Buggy Speeds : 2 Adaptation Retrieved Case () (Buggy Fast Forward Start Node 1) (Buggy Slow Forward Node 1 Node 2) l-spool b-buggy-2s u-spool Solution??? Target Specification Detailed Problem specification Integration Agent Adaptation Agent Specification Analysis Agent Figure 3. The blackboard based control structure in Déjà Vu. 4

5 The problem solving action of Déjà Vu works as follows: The problem specification is formulated as a frame structure that reflects the system configuration and layout - this is the target specification. This is passed to the retrieval/adaptation agents and the best top-level case is adapted and returned. This TLC acts as an integration template on which the solution is built. The Specification Analysis agent works on this adapted top-level solution resulting in a number of CBR retrieval-adaptation cycles that fill out the details of the solution. The result of each CBR cycle is the passing of a solution component to the solution panel for integration into the evolving target solution. For example consider the problem "Remove Spool from Tension Reel using 2 Speed Buggy"; this is the problem shown in Figure 3. The TLC retrieved is r-spool-1s-buggy, the main difference between this and the target case being that the transport buggy in this case is capable of two speed operation so the modules controlling the buggy will have to be changed. The retrieved TLC has the components Forward*1s-Load-Back*1s-Unload and this is adapted to Forward*2s-Load- Back*2s-Unload. The Specification Analysis breaks this down into its 4 constituents and passes each of these to the Retrieval/Adaptation Agents in turn. The Load and Unload detail cases retrieved are those corresponding to the retrieved TLC but different detail cases are retrieved for the 2-speed moves (in fact and b-buggy-2s). These partial solutions are picked up by the Integration Agent and integrated into the solution. In this situation the detail cases require no adaptation; this will not always be the case. 5. Conclusion This multi-pass CBR process reflects the human expert's process of design by successive refinement. However, the increased complexity of the CBR process introduces an added problem of control. The blackboard structure adopted in Déjà Vu shows considerable promise in handling this added complexity. The process of successive refinement in the CBR require that the case-base contain cases at different levels of detail. These are organised into a partonomic hierarchy. In the current implementation this hierarchy contains just two levels; however intermediate levels can be added in the future. The cases are stored as frames which form a taxonomy that facilitates the retrieval process. Current research efforts concentrate on experimenting with the organisation of the blackboard process. In the future our intention is to develop the system as an interactive man-machine system with the user interacting in the adaptation process. References [Cunningham '91] Cunningham P., Veale T., "A Flexible Blackboard Architecture for Automatic Knowledge Elicitation form Text", in Proceedings of Fifth European Knowledge Acquisition for Knowledge Based Systems Workshop, Crieff, Scotland, May, [Hammond '89] Hammond K., "Planning from memory" in Case-Based Planning, ed., B. Chandrasekaran, Academic Press, [Nii '86] Nii H. P., "Blackboard Systems: The Blackboard Model of Problem Solving and the Evolution of Blackboard Architectures", AI Magazine, Vol.7. No.2, pp39-53, Summer, [Sakurai '90] Sakurai T., et al. "An Automatic Programming System based on Modular Integrated-Concept Architecture (MICA)", in Proceedings of International Conference on Industrial Electronics, Control and Instrumentation, pp , Monterey, California,

6 6

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

Components vs. Objects

Components vs. Objects Components vs. Objects Luigia Petre Turku Centre for Computer Science & Abo Akademi University, FIN-20520 Turku, Finland (Presented at Nordic Workshop on Programming Theory, Bergen, Norway, Oct 11-13,

More information

Domain-specific Concept-based Information Retrieval System

Domain-specific Concept-based Information Retrieval System Domain-specific Concept-based Information Retrieval System L. Shen 1, Y. K. Lim 1, H. T. Loh 2 1 Design Technology Institute Ltd, National University of Singapore, Singapore 2 Department of Mechanical

More information

Ontology Development. Qing He

Ontology Development. Qing He A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far Ontology Development Qing He 1 Why develop an ontology? In recent years the development of ontologies

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 95-96 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS

AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS Hussam Soliman Saleh Al-Harbi Abdulkader Al-Fantookh Abdulaziz Al-Mazyad College of Computer and Information Sciences, King Saud University,

More information

Building Knowledge Models Using KSM

Building Knowledge Models Using KSM Building Knowledge Models Using KSM Jose Cuena, Martin Molina Department of Artificial Intelligence, Technical University of Madrid, Campus de Montegancedo S/N, Boadilla del Monte 28660, Madrid, SPAIN

More information

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science) Lecture 09 Ada to Software Engineering Mr. Mubashir Ali Lecturer (Dept. of dr.mubashirali1@gmail.com 1 Summary of Previous Lecture 1. ALGOL 68 2. COBOL 60 3. PL/1 4. BASIC 5. Early Dynamic Languages 6.

More information

Remembering To Forget A Competence-Preserving Case Deletion Policy for Case-Based Reasoning Systems

Remembering To Forget A Competence-Preserving Case Deletion Policy for Case-Based Reasoning Systems Remembering To Forget A Competence-Preserving Case Deletion Policy for Case-Based Reasoning Systems Barry Smyth Hitachi Dublin Laboratory, Trinity College Dublin, Dublin, IRELAND. EMail: barry.smyth@hdl.ie

More information

Ontology Development. Farid Naimi

Ontology Development. Farid Naimi Ontology Development Farid Naimi Overview Why develop an ontology? What is in an ontology? Ontology Development Defining classes and a class hierarchy Naming considerations Conclusion Why develop an ontology?

More information

HYPERION SYSTEM 9 PERFORMANCE SCORECARD

HYPERION SYSTEM 9 PERFORMANCE SCORECARD HYPERION SYSTEM 9 PERFORMANCE SCORECARD RELEASE 9.2 NEW FEATURES Welcome to Hyperion System 9 Performance Scorecard, Release 9.2. This document describes the new or modified features in this release. C

More information

Behavior Programming Language and Automated Code Generation for Agent Behavior Control

Behavior Programming Language and Automated Code Generation for Agent Behavior Control Behavior Programming Language and Automated Code Generation for Agent Behavior Control Thuc Vu, Manuela Veloso tdv@andrew.cmu.edu, mmv@cs.cmu.edu Carnegie Mellon University 5000 Forbes Avenue Pittsburgh,

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany Information Systems University of Koblenz Landau, Germany Ontology 101 Design principles Ontology design principles Based on paper by Natasha Noy & Deborah McGuinness Ontology Development 101: A Guide

More information

Advances in Databases and Information Systems 1997

Advances in Databases and Information Systems 1997 ELECTRONIC WORKSHOPS IN COMPUTING Series edited by Professor C.J. van Rijsbergen Rainer Manthey and Viacheslav Wolfengagen (Eds) Advances in Databases and Information Systems 1997 Proceedings of the First

More information

WEBSELL: Intelligent Sales Assistants for the World Wide Web

WEBSELL: Intelligent Sales Assistants for the World Wide Web WEBSELL: Intelligent Sales Assistants for the World Wide Web Pádraig Cunningham, Ralph Bergmann, Sascha Schmitt, Ralph Traphöner, Sean Breen, Barry Smyth Trinity College Dublin, Computer Science, Technical

More information

CS:2820 (22C:22) Object-Oriented Software Development

CS:2820 (22C:22) Object-Oriented Software Development The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this

More information

Representing Cases for CBR in XML 1

Representing Cases for CBR in XML 1 Representing Cases for CBR in XML 1 Lorcan Coyle, Conor Hayes, Pádraig Cunningham Department of Computer Science Trinity College Dublin {Lorcan.Coyle, Conor.Hayes, Padraig.Cunningham}@cs.tcd.ie Abstract.

More information

Distributed Clustering Method for Large-Scaled Wavelength Routed Networks

Distributed Clustering Method for Large-Scaled Wavelength Routed Networks Distributed Clustering Method for Large-Scaled Wavelength Routed Networks Yukinobu Fukushima Graduate School of Information Science and Technology, Osaka University - Yamadaoka, Suita, Osaka 60-08, Japan

More information

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies Pace University IEEE BigDataSecurity, 2015 Aug. 24, 2015 Outline Ontology and Knowledge Representation 1 Ontology and Knowledge

More information

LANGUAGE TRANSLATORS. Workbook. etghallem. St. Aloysius College Computing

LANGUAGE TRANSLATORS. Workbook. etghallem. St. Aloysius College Computing LANGUAGE TRANSLATORS Workbook St. Aloysius College Computing Contents Programming... 2... 3 Types of Programming Languages... 3 Low Level Languages (LLL)... 3 High Level Languages (HLL)... 3 High Level

More information

Model-Solver Integration in Decision Support Systems: A Web Services Approach

Model-Solver Integration in Decision Support Systems: A Web Services Approach Model-Solver Integration in Decision Support Systems: A Web Services Approach Keun-Woo Lee a, *, Soon-Young Huh a a Graduate School of Management, Korea Advanced Institute of Science and Technology 207-43

More information

Easy Ed: An Integration of Technologies for Multimedia Education 1

Easy Ed: An Integration of Technologies for Multimedia Education 1 Easy Ed: An Integration of Technologies for Multimedia Education 1 G. Ahanger and T.D.C. Little Multimedia Communications Laboratory Department of Electrical and Computer Engineering Boston University,

More information

An expert network simulation and design system

An expert network simulation and design system An expert network simulation and design system An expert network simulation and design system Bhavani M. Thuraisingham Bhavani M. Thuraisingham Honey well Inc., Corporate Systems Development Division 1000

More information

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT Question: Difference between Verification and Validation? Answer: Verification ensures the product is designed to deliver all functionality to the customer;

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

CASE BASED REASONING A SHORT OVERVIEW

CASE BASED REASONING A SHORT OVERVIEW CASE BASED REASONING A SHORT OVERVIEW Z. Budimac, V. Kurbalija Institute of Mathematics and Computer Science, Fac. of Science, Univ. of Novi Sad Trg D. Obradovića 4, 21000 Novi Sad, Yugoslavia zjb@im.ns.ac.yu,

More information

# 47. Product data exchange using STEP

# 47. Product data exchange using STEP # 47 Product data exchange using STEP C. Demartini, S. Rivoira, A. Valenzano CENS and Dip. di Automatica e Informatica, Politecnico c.so Duca degli Abruzzi, 24 10129 Torino (Italy) tel. +39-11-5647016,

More information

Adaptive Scheduling in Wireless Sensor Networks.

Adaptive Scheduling in Wireless Sensor Networks. Adaptive Scheduling in Wireless Sensor Networks. A.G. Ruzzelli, M.J. O'Grady, G.M.P O'Hare, R. Tynan. Adaptive Information Cluster (AIC group) Department of Computer Science, University College Dublin

More information

SDMX self-learning package No. 5 Student book. Metadata Structure Definition

SDMX self-learning package No. 5 Student book. Metadata Structure Definition No. 5 Student book Metadata Structure Definition Produced by Eurostat, Directorate B: Statistical Methodologies and Tools Unit B-5: Statistical Information Technologies Last update of content December

More information

Inheritance (Chapter 7)

Inheritance (Chapter 7) Inheritance (Chapter 7) Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Inheritance the soup of the day?! Inheritance combines three aspects: inheritance

More information

Mutual recognition between regulators. Mr John Allan BEng CEng MIET Head of Analysis & Plans

Mutual recognition between regulators. Mr John Allan BEng CEng MIET Head of Analysis & Plans Mutual recognition between regulators Mr John Allan BEng CEng MIET Head of Analysis & Plans International Military Aviation Acquisition Project specific arrangements are tailored for each multinational

More information

Future Directions in Simulation Modeling. C. Dennis Pegden

Future Directions in Simulation Modeling. C. Dennis Pegden Future Directions in Simulation Modeling C. Dennis Pegden Outline A half century of progress. Where do we need to go from here? How do we get there? Simulation: A Compelling Technology See the future Visualize

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

An Interactive Web based Expert System Degree Planner

An Interactive Web based Expert System Degree Planner An Interactive Web based Expert System Degree Planner Neil Dunstan School of Science and Technology University of New England Australia ph: +61 2 67732350 fax: +61 2 67735011 neil@cs.une.edu.au ABSTRACT

More information

TOWARDS A CONCEPTUAL FRAMEWORK FOR DIGITAL DOSSIER MANAGEMENT IN CRIMINAL PROCEEDINGS

TOWARDS A CONCEPTUAL FRAMEWORK FOR DIGITAL DOSSIER MANAGEMENT IN CRIMINAL PROCEEDINGS TOWARDS A CONCEPTUAL FRAMEWORK FOR DIGITAL DOSSIER MANAGEMENT IN CRIMINAL PROCEEDINGS Martin Apistola, Martijn Warnier, Frances Brazier, Anja Oskamp VU University Amsterdam De Boelelaan 1105 Amsterdam

More information

Principles of Computer Game Design and Implementation. Lecture 3

Principles of Computer Game Design and Implementation. Lecture 3 Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,

More information

CMPT Data and Program Organization

CMPT Data and Program Organization CMPT-201 - Data and Program Organization Professor: Bill Havens Office: APSC-10828 Lectures: MWF 2:30pm - 3:20pm Venue: C-9002 WWW: http://www.cs.sfu.ca/coursecentral/201 Office Hours: Monday @3:30pm January

More information

INHERITED BEHAVIOUR PATTERN

INHERITED BEHAVIOUR PATTERN INHERITED BEHAVIOUR PATTERN Class Behavioral Intent Extends the behaviour of a method in subclasses by reusing the inherited method and adding to it. This pattern is supported by some object-oriented languages

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

PARAMETRIC MODELING FOR MECHANICAL COMPONENTS 1

PARAMETRIC MODELING FOR MECHANICAL COMPONENTS 1 PARAMETRIC MODELING FOR MECHANICAL COMPONENTS 1 Wawre S.S. Abstract: parametric modeling is a technique to generalize specific solid model. This generalization of the solid model is used to automate modeling

More information

TIRA: Text based Information Retrieval Architecture

TIRA: Text based Information Retrieval Architecture TIRA: Text based Information Retrieval Architecture Yunlu Ai, Robert Gerling, Marco Neumann, Christian Nitschke, Patrick Riehmann yunlu.ai@medien.uni-weimar.de, robert.gerling@medien.uni-weimar.de, marco.neumann@medien.uni-weimar.de,

More information

QoS-Aware IPTV Routing Algorithms

QoS-Aware IPTV Routing Algorithms QoS-Aware IPTV Routing Algorithms Patrick McDonagh, Philip Perry, Liam Murphy. School of Computer Science and Informatics, University College Dublin, Belfield, Dublin 4. {patrick.mcdonagh, philip.perry,

More information

To install Glamour on your Pharo image execute the following code:

To install Glamour on your Pharo image execute the following code: Glamour Chapter 1 Glamour with the participation of: Tudor Girba (tudor@tudorgirba.com) Browsers are a crucial instrument in understanding complex systems or models. A browser is a tool to navigate and

More information

Verification of Multiple Agent Knowledge-based Systems

Verification of Multiple Agent Knowledge-based Systems Verification of Multiple Agent Knowledge-based Systems From: AAAI Technical Report WS-97-01. Compilation copyright 1997, AAAI (www.aaai.org). All rights reserved. Daniel E. O Leary University of Southern

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

JQueryScapes: customizable Java code perspectives

JQueryScapes: customizable Java code perspectives JQueryScapes: customizable Java code perspectives [Forum Demonstration Proposal] Lloyd Markle, Kris De Volder Department of Computer Science University of British Columbia Vancouver, BC, Canada 604-822-1290

More information

ETSI ETR 046 TECHNICAL July 1992 REPORT

ETSI ETR 046 TECHNICAL July 1992 REPORT ETSI ETR 046 TECHNICAL July 1992 REPORT Source: ETSI TC-NA Reference: DTR/NA-43303 ICS: 33.080 Key words: TMN, modelling Network Aspects (NA); Telecommunications management networks modelling guidelines

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

Smart 5G networks: enabled by network slicing and tailored to customers needs

Smart 5G networks: enabled by network slicing and tailored to customers needs Smart 5G networks: enabled by network slicing and tailored to customers needs To date, mobile networks have been inflexible. Customers (people, businesses and machines) had to take what was available,

More information

Taxonomies and controlled vocabularies best practices for metadata

Taxonomies and controlled vocabularies best practices for metadata Original Article Taxonomies and controlled vocabularies best practices for metadata Heather Hedden is the taxonomy manager at First Wind Energy LLC. Previously, she was a taxonomy consultant with Earley

More information

Reducing the Size of Routing Tables for Large-scale Network Simulation

Reducing the Size of Routing Tables for Large-scale Network Simulation Reducing the Size of Routing Tables for Large-scale Network Simulation Akihito Hiromori, Hirozumi Yamaguchi, Keiichi Yasumoto, Teruo Higashino and Kenichi Taniguchi Graduate School of Engineering Science,

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Object-Oriented

More information

WBEM Web-based Enterprise Management

WBEM Web-based Enterprise Management 1 WBEM Web-based Enterprise Management Outline What is Enterprise Management? What are the drivers in Enterprise Mgt.? Distributed Management Technology Forum (DMTF) Web Based Enterprise Management (WBEM)

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

The modularity requirement

The modularity requirement The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few

More information

A Quality of Service Decision Model for ATM-LAN/MAN Interconnection

A Quality of Service Decision Model for ATM-LAN/MAN Interconnection A Quality of Service Decision for ATM-LAN/MAN Interconnection N. Davies, P. Francis-Cobley Department of Computer Science, University of Bristol Introduction With ATM networks now coming of age, there

More information

Archivists Toolkit: Description Functional Area

Archivists Toolkit: Description Functional Area : Description Functional Area Outline D1: Overview D2: Resources D2.1: D2.2: D2.3: D2.4: D2.5: D2.6: D2.7: Description Business Rules Required and Optional Tasks Sequences User intentions / Application

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Implementing manufacturing feature based design in CAD/CAM

Implementing manufacturing feature based design in CAD/CAM Implementing manufacturing feature based design in CAD/CAM T. Szecsi School of Mechanical and Manufacturing Engineering, Materials Processing Research Centre, Dublin City University, Dublin 9, Ireland

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or other reproductions of copyrighted material. Any copying

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

Website User Guide Your guide to making the most of your Metal Bulletin subscription

Website User Guide Your guide to making the most of your Metal Bulletin subscription 1 Website User Guide Your guide to making the most of your Metal Bulletin subscription 2 Contents Website Navigation My Account / Account Settings My Account / Email Preferences Metal Bulletin Price Book

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Methodologies, Tools and Languages. Where is the Meeting Point?

Methodologies, Tools and Languages. Where is the Meeting Point? Methodologies, Tools and Languages. Where is the Meeting Point? Asunción Gómez-Pérez Mariano Fernández-López Oscar Corcho Artificial Intelligence Laboratory Technical University of Madrid (UPM) Spain Index

More information

Learning Composite Operators for Object Detection

Learning Composite Operators for Object Detection Real-World Applications Learning Composite Operators for Object Detection Bir Bhanu and Yingqiang Lin Center for Research in Intelligent Systems University of California, Riverside, CA, 92521, USA Email:

More information

System Configuration. Paul Anderson. publications/oslo-2008a-talk.pdf I V E R S I U N T Y T H

System Configuration. Paul Anderson.  publications/oslo-2008a-talk.pdf I V E R S I U N T Y T H E U N I V E R S I System Configuration T H O T Y H F G Paul Anderson E D I N B U R dcspaul@ed.ac.uk http://homepages.inf.ed.ac.uk/dcspaul/ publications/oslo-2008a-talk.pdf System Configuration What is

More information

Crossing the Archival Borders

Crossing the Archival Borders IST-Africa 2008 Conference Proceedings Paul Cunningham and Miriam Cunningham (Eds) IIMC International Information Management Corporation, 2008 ISBN: 978-1-905824-07-6 Crossing the Archival Borders Fredrik

More information

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0

SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0 SEMESTER 2 Chapter 3 Introduction to Dynamic Routing Protocols V 4.0 3.1.1 What are the four routing RIP, RIPv2, EIGRP, OSPFv2 protocols that are the focus of this course? 3.1.1.2 What are routing protocols?

More information

Case-Based Reasoning

Case-Based Reasoning 0/0/ Case-Based Reasoning In this lecture, we turn to another popular form of reasoning system: case based reasoning (CBR) Unlike Rule-based systems and Fuzzy Logic, CBR does not use any rules or logical

More information

XETA: extensible metadata System

XETA: extensible metadata System XETA: extensible metadata System Abstract: This paper presents an extensible metadata system (XETA System) which makes it possible for the user to organize and extend the structure of metadata. We discuss

More information

SIR C R REDDY COLLEGE OF ENGINEERING

SIR C R REDDY COLLEGE OF ENGINEERING SIR C R REDDY COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY Course Outcomes II YEAR 1 st SEMESTER Subject: Data Structures (CSE 2.1.1) 1. Describe how arrays, records, linked structures,

More information

Self-Controlling Architecture Structured Agents

Self-Controlling Architecture Structured Agents Self-Controlling Architecture Structured Agents Mieczyslaw M. Kokar (contact author) Department of Electrical and Computer Engineering 360 Huntington Avenue, Boston, MA 02115 ph: (617) 373-4849, fax: (617)

More information

Building a Concept Hierarchy from a Distance Matrix

Building a Concept Hierarchy from a Distance Matrix Building a Concept Hierarchy from a Distance Matrix Huang-Cheng Kuo 1 and Jen-Peng Huang 2 1 Department of Computer Science and Information Engineering National Chiayi University, Taiwan 600 hckuo@mail.ncyu.edu.tw

More information

Intelligent flexible query answering Using Fuzzy Ontologies

Intelligent flexible query answering Using Fuzzy Ontologies International Conference on Control, Engineering & Information Technology (CEIT 14) Proceedings - Copyright IPCO-2014, pp. 262-277 ISSN 2356-5608 Intelligent flexible query answering Using Fuzzy Ontologies

More information

Design Pattern: Composite

Design Pattern: Composite Design Pattern: Composite Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Motivation

More information

Tecniche di Progettazione: Design Patterns

Tecniche di Progettazione: Design Patterns Tecniche di Progettazione: Design Patterns GoF: Composite 1 Composite pattern Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects

More information

Safety and limit switches

Safety and limit switches Microswitches and sealed position switches If your application depends on it SERIES MP800 Plastic or metal case IP65-66 protection 30 mm, 40 mm or 50 mm case width Forced break switches with slow action

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Correlating Orphaned Windows Registry Data Structures

Correlating Orphaned Windows Registry Data Structures Annual ADFSL Conference on Digital Forensics, Security and Law 2009 May 21st, 10:00 AM Correlating Orphaned Windows Registry Data Structures Damir Kahvedžić Centre for Cyber Crime Investigation, University

More information

MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS. By Angela Carabelli SSLMIT, Trieste

MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS. By Angela Carabelli SSLMIT, Trieste MULTIMEDIA TECHNOLOGIES FOR THE USE OF INTERPRETERS AND TRANSLATORS By SSLMIT, Trieste The availability of teaching materials for training interpreters and translators has always been an issue of unquestionable

More information

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL Emil Vassev 1, Mike Hinchey 2, Aaron Quigley 1 1 Lero The Irish Software Engineering Research Centre, University College Dublin, Ireland

More information

XII- COMPUTER SCIENCE VOL-II MODEL TEST I

XII- COMPUTER SCIENCE VOL-II MODEL TEST I MODEL TEST I 1. What is the significance of an object? 2. What are Keyword in c++? List a few Keyword in c++?. 3. What is a Pointer? (or) What is a Pointer Variable? 4. What is an assignment operator?

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Design Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011

Design Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011 Design Patterns Lecture 1 Manuel Mastrofini Systems Engineering and Web Services University of Rome Tor Vergata June 2011 Definition A pattern is a reusable solution to a commonly occurring problem within

More information

Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems

Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems Di Zhong a, Shih-Fu Chang a, John R. Smith b a Department of Electrical Engineering, Columbia University, NY,

More information

Object Relationships

Object Relationships Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

How to Exploit Abstract User Interfaces in MARIA

How to Exploit Abstract User Interfaces in MARIA How to Exploit Abstract User Interfaces in MARIA Fabio Paternò, Carmen Santoro, Lucio Davide Spano CNR-ISTI, HIIS Laboratory Via Moruzzi 1, 56124 Pisa, Italy {fabio.paterno, carmen.santoro, lucio.davide.spano}@isti.cnr.it

More information

Exploration of Data from Modelling and Simulation through Visualisation

Exploration of Data from Modelling and Simulation through Visualisation Exploration of Data from Modelling and Simulation through Visualisation Tao Lin: CSIRO Mathematical and Information Sciences, PO Box 664, ACT 2601, Australia. Robert Cheung*: CRC for Advanced Computational

More information

This report was prepared by the Information Commissioner s Office, United Kingdom (hereafter UK ICO ).

This report was prepared by the Information Commissioner s Office, United Kingdom (hereafter UK ICO ). REPORT TO THE 38 th INTERNATIONAL CONFERENCE OF DATA PROTECTION AND PRIVACY COMMISSIONERS - MOROCCO, OCTOBER 2016 ON THE 5 th ANNUAL INTERNATIONAL ENFORCEMENT COOPERATION MEETING HELD IN MANCHESTER, UK,

More information

Capturing Product Line Architectures

Capturing Product Line Architectures Capturing Product Line Architectures André van der Hoek Institute for Software Research Department of Information and Computer Science University of California, Irvine Irvine, CA 92697-3425 USA andre@ics.uci.edu

More information

Investigating F# as a development tool for distributed multi-agent systems

Investigating F# as a development tool for distributed multi-agent systems PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 32-36, 2011 Investigating F# as a development tool for distributed multi-agent systems Extended abstract Alex

More information