UML for Global Computing Lecture 3: Property-Driven Development

Size: px
Start display at page:

Download "UML for Global Computing Lecture 3: Property-Driven Development"

Transcription

1 Contents UML for Global Comuting Lecture 3: Proerty-Driven Develoment Martin Wirsing LMU München in cooeration with Hubert Baumeister Lecture : Introducing UML for Mobility Lecture 2: Refining Mobility Designs Lecture 3: Proerty-driven Develoment of Mobile Systems Develoment rocess Case study: A Multi Dungeon Game Simle game Game with logical distribution GC Summer School, Edinburgh, July 2003 Proerty-Driven Design Joint develoment of test / secification / model Executable models Immediate feedback Automatic tests Refinement Adding details Refactoring Tools Secification: JML / OCL Tests: Fit and JUnit Modeling language: UML and Java Proerty-Driven Develoment: Process I Ste : Requirements Cature Develo Stories (functional- and non functional requirements) Define develoment strategy Examle: MUD Game Develoment Strategy for the MUD Game Requirements Multi Dungeon Game walks through rooms Meets other human- /non human layers Talks Fights Trades Functional Requirements Detail Game with Physical Distribution Game with Logical Distribution Simle Game Fighting Commun.... Played via mobile hones Distribution Client server vs. Peer to Peer Non-functional Requirements Functionality

2 Develoment Strategy for the MUD Game Proerty-Driven Develmt: Design and Imlementation Detail Game with Physical Distribution Game with Logical Distribution Game Multi- Game Handle Objects Fighting Commun.... Modelling / Programming [Develo UML Behaviour Diagrams; generate /develo imlementations of behaviour; test and refactor rograms] Use Case Develoment [Extract Class Diagram and Use Cases from Stories] Functionality Proerty Extraction [Generalize tests to invariants and re-/ostconditions in OCL; translate to JML] Scenario Develoment [Develo UML Sequence Diagrams for Use Case; generate semi-automatically tests from Sequence Diagrams] Proerty-Driven Develoment: Process II Ste 2: Design and Imlementation For each Story iterate Ste 2.: Use Case Develoment Extract Use Cases from Stories Ste 2.2 Scenario Develoment Develo UML Sequence Diagrams for Use Case Generate semi-automatically tests from Sequence Diagrams (generate test temlates for FIT or Junit and comlete temlates with test data and exected results) Ste 2.3: Proerty Extraction Generalize tests to invariants and re-/ostconditions in OCL/MTLA Translate to JML Ste 2.4: Modelling / Programming Develo UML Behaviour Diagrams (Sequence-, Activity Diagrams, and State Charts) Generate /develo imlementations of behaviors Test and refactor rograms Proerty-Driven Design: Remarks Class Diagram evolves in arallel with the stes Different tools / notations for different levels of detail High level UML Diagrams Sequence Diagrams, Activity Diagrams, State Charts, etc. FIT accetance tests OCL / MTLA logic secifications Low level Java (or for mobile agents: Jade) JUnit unit tests JML logic secifications Difference Use Case / Story Story Tells an interesting "story" about the system that is relevant to the customer Functional- / non-functional requirements Includes Use Cases; however, usually less formal than use cases Use Case Functionality of the System Defined by Pre- / Postconditions Primary- / Secondary Scenarios. Simle Game GC Summer School, Edinburgh, July 2003

3 Examle: Simle MUD-Game Story: Game The Simle MUD Game consists of the Stories: Game Multi- Game Handle Objects First iteration: Develo Game from Story Second iteration: Develo Multi- Game from Story Extract Class diagram and Use Cases Develo UML Sequence Diagrams and Accetance Tests (FIT) Find Proerties: Invariants and Pre-/Post Conditions in OCL and translate to JML Develo Imlementation (in Java) Run Accetance Tests alone and with JML assertions Start Game Rules Secial The game has several s; each contains several s which may be connected. The game starts in the Start of the lowest and ends in the highest. From the Secial the layer advances to the next or the game is over. The moves through the rooms until he finds the Secial. He can see the rooms which are directly connected with its current room. The layer moves always to a room which is directly connected to its M. Wirsing: current UML for room. Global Comuting Story: Multi Game Start 5 Secial Additional Game Rules Several layers in the game A layer can see the other layers in its room Design of Class Diagram and Use Cases Extract classes (without oerations) from Story.,,, Start, Secial Define the concetual mobility structure of the game: s and s are locations; layers are mobile objects Extract Use Cases from Story Look to connected s Move Move to next Advance to next level Class Diagram for Multi Game Use Cases for the Multi- Game MUD look room exits look look other layers Start connectedto Secial current move advance to next level move to room

4 Develoment of Scenarios and Accetance Tests SDM: Scenario for moveto Use Case Develo Sequence Diagrams for each Use Case r:start r: r2: r3: Standard behaviour (moves in black color are ossible) Forbidden behaviour (moves in red color are forbidden!) Derive Accetance Test from Sequence Diagram Create Test Temlate Move(r) Move(r) Add arameter data and exected results Extend Class Diagram by the oerations of the Accetance Test? {cannot re-enter the start room} Forbidden Move SDM: Scenario for move Use Case SDM: Scenario for move Use Case r:start r: r2: r4: r:start r: r2: r4: Move(r) Move(r) Move(r2) Move(r3) {r2 not connected to r} {r4 is connected to r} Accetance Tests with FITNesse FitNesse is a collaborative testing and documentation tool develoed by R. Martin et al. It is a Wiki imlemented in Java Test develoment: Write accetance tests in Wiki where every test is shown in a table Imlement a test fixture in Java for the oerations in the test tables Accetance Test for Move to Next Create layer Move to Forbidden: Move to 2 Forbidden: Move back to Start Move to 4

5 Derive Proerties Class Diagram for Multi- Game Extend the class diagram by the oerations of discovered in the accetance test (moveto;...) Derive OCL re- and ost conditions for the oerations Derive OCL invariants inv: layers >forall(layer layer.current = self ) inv: current!= null imlies current.layers >includes( self ) Translate OCL to JML which automatically creates assertions in the imlementation connectedto current layers Start Secial moveto(room)... re: current.connectedto >includes(room) ost: current. = room; excetion: re: not(current.connectedto > includes(room)) signals: invalidmoveexcetion; Translate OCL Pre/Post Conditons to JML ublic normal_behavior requires current().connectedto().contains(room); ensures current() == room; also ublic excetional_behavior requires!current().connectedto().contains(room); assignable \nothing; signals (InvalidMoveExcetion); ublic void moveto( room) throws InvalidMoveExcetion Translate OCL Invariants to JML ublic instance invariant (\forall layer; layers().contains(layer); layer.current() == this); ublic instance invariant current()!= null ==> current().layers().contains(this); Invariante der Klasse Invariante der Klasse Ste 2.4: Modelling / Programming Activity Diagram (RC) for.moveto(r2) Develo Activity Diagrams for moveto() Resonsibility centered : Location centered Generate and test Java imlementation Refactor, if necessary [r.connectedto->includes(r2)] [not(r.connectedto->includes(r2))] throw InvalidMoveExcetion {r2 = current} : [atloc = r] <<move>> current := r2 : [atloc = r2] add to r2 layers

6 Accetance Test for Move to Next Corrected Diagram (RC) for.moveto(r2) : throw InvalidMoveExcetion [not(r.connectedto->includes(r2))] [r.connectedto->includes(r2)] remove from r layers {r2 = current} : [atloc = r] <<move>> current := r2 : [atloc = r2] TestLookOthers shows error: Forgot to remove from the old room add to r2 layers Activity Diagram (LC):.moveTo(r2) r: {r2 = current} [not(r. connectedto->includes(r2))] throw InvalidMoveExcetion Accetance Test for Move to Next All tests are successful! [r. connectedto->includes(r2)] : remove from the layers of r <<move>> current := r2 add to the layers of r2 r2: : Accetance Test Suite Game with Logical Distribution All tests are successful! GC Summer School, Edinburgh, July 2003

7 MUD Game with Logical Distribution Refactor and extend Class Diagram Story: Play the MUD Game with mobile hones: Add server and mobile hones as locations s are located on hones For laying the game, the current room is moved to the hone with the layer s and s are mobile objects Phone Server PersonalObject inventory Proerty-driven develoment as before: Refactor and extend Class Diagram Develo Sequence Diagrams and tests Derive OCL Proerties Develo UML Activity Diagram and generate and test imlementation Refactor, if necessary Secial connecteds Start Develo SDM: set current room Unit Test with JUnit hone server: Server <<create>> moveto(hone) current(sr) sr <<clone>> sr {Start sr located at server} JUnit is an Oen Source Framework for automatising Unit-Tests for Java. Develoed by Kent Beck and Erich Gamma Test Case Design: Generate test temlate from Sequence Diagram Add assertions for the checking the current state {current room located at hone} {current room is a clone of sr} JUnit Test for set Current Proerties: Additional Invariant for ublic void testgamelocation() throws Excetion { Server server = new Server(); Phone hone = new Phone(); layer = new ("Hubert"); layer.moveto(hone); Phone Server inv: current!= null imlies current.locatedat().location() game = server.game(); asserttrue(game.start().locatedat(server)); layer.current(game.start()); Constructs clone of Start at hone connectedto current } asserttrue(layer.current().locatedat(hone)); asserttrue(layer.current().cloneof(game.start())); asserttrue(game.start().locatedat(server)); Secial Start

8 Translation to JML Activity Diagram (LC): MoveTo Method Additional Invariant of the :Phone {r2 = current} [!(r.connectedto->includes(r2))] throw InvalidMoveExcetion [r.connectedto->includes(r2)] ublic instance invariant current()!= null ==> current().locatedat(location()); :Server r2: remove from the layers of r <<clone>> Create a local coy of r2 r3: current := r3 add to the layers of r3 JUnit Test Run Story Handle Objects Story Personal objects like bananas or ales can be in a room A layer can see the objects in the current room, he can use, take or ut down an object All tests are successful! Class Diagram for Handle Object All Use Cases MUD look room exits Phone PersonalObject inventory look look objects Server look inventory look other layers connecteds move advance to next level move to room Secial Start handle object use object take object ut down object

9 Activity Diagram: TakeObjectFrom Activity Diagram (LC): TakeObjectFrom [current room contains object] add object to inventory [current room does not contain object] throw InvalidAction Excetion hone:phone hone2:phone server:server [current room does not contain object] throw InvalidAction Excetion [current room contains object] add object to inventory Remove object from Current, server, all clones of the original room current room original room [has other layer] other layer current room [all other layers notified] other layer current room [has other layer] current room [all other layers notified] original room Remove object from all clones of the original room, Current, server, MUD Game with Physical Distribution Imlement MUD Game over Platform which suorts mobility (e.g. Jade) or Use RMI and serialization of Java Problem: RMI sends remote object with all its associated objects; Remedy: Use exlicit object names to searate objects from associated objects in order to send only the actual object Summary Lecture : UML extension with mobility First aroach for exlicit modeling of mobility in UML Simle solution Used already in industry and for teaching (DEGAS-Project, SWE-Praktikum) Lecture 2: Refinement Simle syntactic refinement calculi for activity and sequence diagrams for mobility MTLA as a formal basis for a UML notion of refinement: Refinement is imlication (with ossible hiding of variables or locations)! Summary Lecture 3: Proerty-Driven Design Executable models Immediate feedback Allows to exeriment with the system Joint develoment of formal roerties and model Tests Formal secification Tests + Refactoring = "Soft"ware Future Work Test- / Verification Tool for State Charts Better Integration of Formal Methods Executable UML Model-Driven Architecture (MDA) Problems: defined translations

02291: System Integration

02291: System Integration 02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2012 Contents 1 General Information 1 2 Overview 3 3 Introduction to UML 11 4 Summary 16 1 General Information System Integration Type

More information

Using Standard AADL for COMPASS

Using Standard AADL for COMPASS Using Standard AADL for COMPASS (noll@cs.rwth-aachen.de) AADL Standards Meeting Aachen, Germany; July 5 8, 06 Overview Introduction SLIM Language Udates COMPASS Develoment Roadma Fault Injections Parametric

More information

MSO Exam January , 17:00 20:00

MSO Exam January , 17:00 20:00 MSO 2014 2015 Exam January 26 2015, 17:00 20:00 Name: Student number: Please read the following instructions carefully: Fill in your name and student number above. Be reared to identify yourself with your

More information

An Indexing Framework for Structured P2P Systems

An Indexing Framework for Structured P2P Systems An Indexing Framework for Structured P2P Systems Adina Crainiceanu Prakash Linga Ashwin Machanavajjhala Johannes Gehrke Carl Lagoze Jayavel Shanmugasundaram Deartment of Comuter Science, Cornell University

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Course Introduction Introduction to Software Engineering Practical

More information

Equality-Based Translation Validator for LLVM

Equality-Based Translation Validator for LLVM Equality-Based Translation Validator for LLVM Michael Ste, Ross Tate, and Sorin Lerner University of California, San Diego {mste,rtate,lerner@cs.ucsd.edu Abstract. We udated our Peggy tool, reviously resented

More information

COMP Parallel Computing. BSP (1) Bulk-Synchronous Processing Model

COMP Parallel Computing. BSP (1) Bulk-Synchronous Processing Model COMP 6 - Parallel Comuting Lecture 6 November, 8 Bulk-Synchronous essing Model Models of arallel comutation Shared-memory model Imlicit communication algorithm design and analysis relatively simle but

More information

32. Common Concurrency Problems.

32. Common Concurrency Problems. 32. Common Concurrency Problems. Oerating System: Three Easy Pieces AOS@UC 1 Common Concurrency Problems More recent work focuses on studying other tyes of common concurrency bugs. w Take a brief look

More information

15. Address Translation

15. Address Translation 15. Address Translation Oerating System: Three Easy Pieces AOS@UC 1 Memory Virtualizing with Efficiency and Control Memory virtualizing takes a similar strategy known as limited direct execution(lde) for

More information

Orthographic Software Modeling

Orthographic Software Modeling Orthograhic Software Modeling A Practical Aroach to View-Oriented, Comonent-Based Develoment Colin Atkinson Charles University, Prague 9th February 2010 Outline Motivation Review of KobrA Orthograhic Software

More information

Verification Options. To Store Or Not To Store? Inside the UPPAAL tool. Inactive (passive) Clock Reduction. Global Reduction

Verification Options. To Store Or Not To Store? Inside the UPPAAL tool. Inactive (passive) Clock Reduction. Global Reduction Inside the UPPAAL tool Data Structures DBM s (Difference Bounds Matrices) Canonical and Minimal Constraints Algorithms Reachability analysis Liveness checking Termination Verification Otions Verification

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Recap Requirements Engineering user- / system requirements functional- / non-functional

More information

Property Patterns for Runtime Monitoring of Web Service Conversations

Property Patterns for Runtime Monitoring of Web Service Conversations Proerty Patterns for Runtime Monitoring of Web Service Conversations Jocelyn Simmonds, Marsha Chechik, and Shiva Nejati University of Toronto, Toronto ON M5S3G4, Canada {jsimmond,chechik,shiva}@cs.toronto.edu

More information

CS2 Algorithms and Data Structures Note 8

CS2 Algorithms and Data Structures Note 8 CS2 Algorithms and Data Structures Note 8 Heasort and Quicksort We will see two more sorting algorithms in this lecture. The first, heasort, is very nice theoretically. It sorts an array with n items in

More information

Protecting Mobile Agents against Malicious Host Attacks Using Threat Diagnostic AND/OR Tree

Protecting Mobile Agents against Malicious Host Attacks Using Threat Diagnostic AND/OR Tree Protecting Mobile Agents against Malicious Host Attacks Using Threat Diagnostic AND/OR Tree Magdy Saeb, Meer Hamza, Ashraf Soliman. Arab Academy for Science, Technology & Maritime Transort Comuter Engineering

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Contents Course Introduction Introduction to Software Engineering Practical

More information

Efficient Processing of Top-k Dominating Queries on Multi-Dimensional Data

Efficient Processing of Top-k Dominating Queries on Multi-Dimensional Data Efficient Processing of To-k Dominating Queries on Multi-Dimensional Data Man Lung Yiu Deartment of Comuter Science Aalborg University DK-922 Aalborg, Denmark mly@cs.aau.dk Nikos Mamoulis Deartment of

More information

CLIC CLient-Informed Caching for Storage Servers

CLIC CLient-Informed Caching for Storage Servers CLIC CLient-Informed Caching for Storage Servers Xin Liu Ashraf Aboulnaga Ken Salem Xuhui Li David R. Cheriton School of Comuter Science University of Waterloo February 2009 Two-Tier Caching DBMS storage

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Programming Tips and Tricks Booleans Constants Delegation Requirements

More information

Sensitivity Analysis for an Optimal Routing Policy in an Ad Hoc Wireless Network

Sensitivity Analysis for an Optimal Routing Policy in an Ad Hoc Wireless Network 1 Sensitivity Analysis for an Otimal Routing Policy in an Ad Hoc Wireless Network Tara Javidi and Demosthenis Teneketzis Deartment of Electrical Engineering and Comuter Science University of Michigan Ann

More information

The Anubis Service. Paul Murray Internet Systems and Storage Laboratory HP Laboratories Bristol HPL June 8, 2005*

The Anubis Service. Paul Murray Internet Systems and Storage Laboratory HP Laboratories Bristol HPL June 8, 2005* The Anubis Service Paul Murray Internet Systems and Storage Laboratory HP Laboratories Bristol HPL-2005-72 June 8, 2005* timed model, state monitoring, failure detection, network artition Anubis is a fully

More information

Randomized algorithms: Two examples and Yao s Minimax Principle

Randomized algorithms: Two examples and Yao s Minimax Principle Randomized algorithms: Two examles and Yao s Minimax Princile Maximum Satisfiability Consider the roblem Maximum Satisfiability (MAX-SAT). Bring your knowledge u-to-date on the Satisfiability roblem. Maximum

More information

1.5 Case Study. dynamic connectivity quick find quick union improvements applications

1.5 Case Study. dynamic connectivity quick find quick union improvements applications . Case Study dynamic connectivity quick find quick union imrovements alications Subtext of today s lecture (and this course) Stes to develoing a usable algorithm. Model the roblem. Find an algorithm to

More information

PREDICTING LINKS IN LARGE COAUTHORSHIP NETWORKS

PREDICTING LINKS IN LARGE COAUTHORSHIP NETWORKS PREDICTING LINKS IN LARGE COAUTHORSHIP NETWORKS Kevin Miller, Vivian Lin, and Rui Zhang Grou ID: 5 1. INTRODUCTION The roblem we are trying to solve is redicting future links or recovering missing links

More information

Argo Programming Guide

Argo Programming Guide Argo Programming Guide Evangelia Kasaaki, asmus Bo Sørensen February 9, 2015 Coyright 2014 Technical University of Denmark This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL4: JML The Java Modeling Language David Aspinall (slides originally by Ian Stark) School of Informatics The University of Edinburgh Thursday 21 January 2010

More information

has been retired This version of the software Sage Timberline Office Get Started Document Management 9.8 NOTICE

has been retired This version of the software Sage Timberline Office Get Started Document Management 9.8 NOTICE This version of the software has been retired Sage Timberline Office Get Started Document Management 9.8 NOTICE This document and the Sage Timberline Office software may be used only in accordance with

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Requirements Engineering functional / non-functional requirements Elicitation,

More information

Allowing the use of Multiple Ontologies for Discovery of Web Services in Federated Registry Environment

Allowing the use of Multiple Ontologies for Discovery of Web Services in Federated Registry Environment Allowing the use of Multile Ontologies for Discovery of Web Services in Federated Registry Environment Kunal Verma 1, Amit Sheth 2, Swana Oundhakar 3, Kaarthik Sivashanmugam 4, John Miller 3 1 Accenture

More information

10. Multiprocessor Scheduling (Advanced)

10. Multiprocessor Scheduling (Advanced) 10. Multirocessor Scheduling (Advanced) Oerating System: Three Easy Pieces AOS@UC 1 Multirocessor Scheduling The rise of the multicore rocessor is the source of multirocessorscheduling roliferation. w

More information

OMNI: An Efficient Overlay Multicast. Infrastructure for Real-time Applications

OMNI: An Efficient Overlay Multicast. Infrastructure for Real-time Applications OMNI: An Efficient Overlay Multicast Infrastructure for Real-time Alications Suman Banerjee, Christoher Kommareddy, Koushik Kar, Bobby Bhattacharjee, Samir Khuller Abstract We consider an overlay architecture

More information

10 File System Mass Storage Structure Mass Storage Systems Mass Storage Structure Mass Storage Structure FILE SYSTEM 1

10 File System Mass Storage Structure Mass Storage Systems Mass Storage Structure Mass Storage Structure FILE SYSTEM 1 10 File System 1 We will examine this chater in three subtitles: Mass Storage Systems OERATING SYSTEMS FILE SYSTEM 1 File System Interface File System Imlementation 10.1.1 Mass Storage Structure 3 2 10.1

More information

02161: Software Engineering I

02161: Software Engineering I 02161: Software Engineering I Week 9: Version Control, Software Development Process, and Project Introduction Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring

More information

This version of the software

This version of the software Sage Estimating (SQL) (formerly Sage Timberline Estimating) SQL Server Guide Version 16.11 This is a ublication of Sage Software, Inc. 2015 The Sage Grou lc or its licensors. All rights reserved. Sage,

More information

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13 The rcos Modeler ICTAC Summer School 2013 ECNU, Shanghai, China Volker Stolz, Zhiming Liu Benefits of Modeling Given the right models, we get for free: executable program user interfaces test cases (model-based

More information

Sage Document Management Version 17.1

Sage Document Management Version 17.1 Sage Document Management Version 17.1 User's Guide This is a ublication of Sage Software, Inc. 2017 The Sage Grou lc or its licensors. All rights reserved. Sage, Sage logos, and Sage roduct and service

More information

Leak Detection Modeling and Simulation for Oil Pipeline with Artificial Intelligence Method

Leak Detection Modeling and Simulation for Oil Pipeline with Artificial Intelligence Method ITB J. Eng. Sci. Vol. 39 B, No. 1, 007, 1-19 1 Leak Detection Modeling and Simulation for Oil Pieline with Artificial Intelligence Method Pudjo Sukarno 1, Kuntjoro Adji Sidarto, Amoranto Trisnobudi 3,

More information

Single character type identification

Single character type identification Single character tye identification Yefeng Zheng*, Changsong Liu, Xiaoqing Ding Deartment of Electronic Engineering, Tsinghua University Beijing 100084, P.R. China ABSTRACT Different character recognition

More information

has been retired This version of the software Sage Estimating (SQL) (formerly Sage Timberline Estimating) Creating Sage Estimating Reports

has been retired This version of the software Sage Estimating (SQL) (formerly Sage Timberline Estimating) Creating Sage Estimating Reports Sage Estimating (SQL) (formerly Sage Timberline Estimating) Creating Sage Estimating Reorts with SAP Crystal Reorts Version 15.12 This version of the software has been retired This is a ublication of Sage

More information

CS 1110 Final, December 7th, 2017

CS 1110 Final, December 7th, 2017 CS 1110 Final, December 7th, 2017 This 150-minute exam has 8 questions worth a total of 100 oints. Scan the whole test before starting. Budget your time wisely. Use the back of the ages if you need more

More information

CMSC 425: Lecture 16 Motion Planning: Basic Concepts

CMSC 425: Lecture 16 Motion Planning: Basic Concepts : Lecture 16 Motion lanning: Basic Concets eading: Today s material comes from various sources, including AI Game rogramming Wisdom 2 by S. abin and lanning Algorithms by S. M. LaValle (Chats. 4 and 5).

More information

Java Modeling Language (JML)

Java Modeling Language (JML) CIS 771: Software Specifications Introduction to JML Java Modeling Language (JML) A behavioral interface specification language for Java supporting design-by-contract (DBC)... invented by Gary T. Leavens

More information

Control plane and data plane. Computing systems now. Glacial process of innovation made worse by standards process. Computing systems once upon a time

Control plane and data plane. Computing systems now. Glacial process of innovation made worse by standards process. Computing systems once upon a time Classical work Architecture A A A Intro to SDN A A Oerating A Secialized Packet A A Oerating Secialized Packet A A A Oerating A Secialized Packet A A Oerating A Secialized Packet Oerating Secialized Packet

More information

CS2 Algorithms and Data Structures Note 8

CS2 Algorithms and Data Structures Note 8 CS2 Algorithms and Data Structures Note 8 Heasort and Quicksort We will see two more sorting algorithms in this lecture. The first, heasort, is very nice theoretically. It sorts an array with n items in

More information

Modified Bloom filter for high performance hybrid NoSQL systems

Modified Bloom filter for high performance hybrid NoSQL systems odified Bloom filter for high erformance hybrid NoSQL systems A.B.Vavrenyuk, N.P.Vasilyev, V.V.akarov, K.A.atyukhin,..Rovnyagin, A.A.Skitev National Research Nuclear University EPhI (oscow Engineering

More information

Parallel Algorithms for the Summed Area Table on the Asynchronous Hierarchical Memory Machine, with GPU implementations

Parallel Algorithms for the Summed Area Table on the Asynchronous Hierarchical Memory Machine, with GPU implementations Parallel Algorithms for the Summed Area Table on the Asynchronous Hierarchical Memory Machine, ith GPU imlementations Akihiko Kasagi, Koji Nakano, and Yasuaki Ito Deartment of Information Engineering Hiroshima

More information

36. I/O Devices. Operating System: Three Easy Pieces 1

36. I/O Devices. Operating System: Three Easy Pieces 1 36. I/O Devices Oerating System: Three Easy Pieces AOS@UC 1 I/O Devices I/O is critical to comuter system to interact with systems. Issue : w How should I/O be integrated into systems? w What are the general

More information

Sage Estimating (SQL) (formerly Sage Timberline Estimating) Installation and Administration Guide. Version 16.11

Sage Estimating (SQL) (formerly Sage Timberline Estimating) Installation and Administration Guide. Version 16.11 Sage Estimating (SQL) (formerly Sage Timberline Estimating) Installation and Administration Guide Version 16.11 This is a ublication of Sage Software, Inc. 2016 The Sage Grou lc or its licensors. All rights

More information

IMS Network Deployment Cost Optimization Based on Flow-Based Traffic Model

IMS Network Deployment Cost Optimization Based on Flow-Based Traffic Model IMS Network Deloyment Cost Otimization Based on Flow-Based Traffic Model Jie Xiao, Changcheng Huang and James Yan Deartment of Systems and Comuter Engineering, Carleton University, Ottawa, Canada {jiexiao,

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Course Introduction Introduction to Software Engineering Practical

More information

Collective communication: theory, practice, and experience

Collective communication: theory, practice, and experience CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Comutat.: Pract. Exer. 2007; 19:1749 1783 Published online 5 July 2007 in Wiley InterScience (www.interscience.wiley.com)..1206 Collective

More information

Java Modelling Language (JML) References

Java Modelling Language (JML) References Java Modelling Language (JML) References G. T. Leavens and Y. Cheon. Design by Contract with JML, August 2005. L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll.

More information

Lecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model.

Lecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model. U.C. Berkeley CS273: Parallel and Distributed Theory Lecture 18 Professor Satish Rao Lecturer: Satish Rao Last revised Scribe so far: Satish Rao (following revious lecture notes quite closely. Lecture

More information

A New and Efficient Algorithm-Based Fault Tolerance Scheme for A Million Way Parallelism

A New and Efficient Algorithm-Based Fault Tolerance Scheme for A Million Way Parallelism A New and Efficient Algorithm-Based Fault Tolerance Scheme for A Million Way Parallelism Erlin Yao, Mingyu Chen, Rui Wang, Wenli Zhang, Guangming Tan Key Laboratory of Comuter System and Architecture Institute

More information

Low Power Implementations for Adaptive Filters

Low Power Implementations for Adaptive Filters Low Power Imlementations for Adative ilters Marius Vollmer Stehan Klauke Jürgen Götze University of ortmund Information Processing Lab htt://www-dt.e-technik.uni-dortmund.de marius.vollmer stehan.klauke

More information

Formale Entwicklung objektorientierter Software

Formale Entwicklung objektorientierter Software Formale Entwicklung objektorientierter Software Praktikum im Wintersemester 2008/2009 Prof. P. H. Schmitt Christian Engel, Benjamin Weiß Institut für Theoretische Informatik Universität Karlsruhe 5. November

More information

Shuigeng Zhou. May 18, 2016 School of Computer Science Fudan University

Shuigeng Zhou. May 18, 2016 School of Computer Science Fudan University Query Processing Shuigeng Zhou May 18, 2016 School of Comuter Science Fudan University Overview Outline Measures of Query Cost Selection Oeration Sorting Join Oeration Other Oerations Evaluation of Exressions

More information

Chapter 7, Part B Sampling and Sampling Distributions

Chapter 7, Part B Sampling and Sampling Distributions Slides Preared by JOHN S. LOUCKS St. Edward s University Slide 1 Chater 7, Part B Samling and Samling Distributions Samling Distribution of Proerties of Point Estimators Other Samling Methods Slide 2 Samling

More information

Matlab Virtual Reality Simulations for optimizations and rapid prototyping of flexible lines systems

Matlab Virtual Reality Simulations for optimizations and rapid prototyping of flexible lines systems Matlab Virtual Reality Simulations for otimizations and raid rototying of flexible lines systems VAMVU PETRE, BARBU CAMELIA, POP MARIA Deartment of Automation, Comuters, Electrical Engineering and Energetics

More information

2. Introduction to Operating Systems

2. Introduction to Operating Systems 2. Introduction to Oerating Systems Oerating System: Three Easy Pieces 1 What a haens when a rogram runs? A running rogram executes instructions. 1. The rocessor fetches an instruction from memory. 2.

More information

RESEARCH ARTICLE. Simple Memory Machine Models for GPUs

RESEARCH ARTICLE. Simple Memory Machine Models for GPUs The International Journal of Parallel, Emergent and Distributed Systems Vol. 00, No. 00, Month 2011, 1 22 RESEARCH ARTICLE Simle Memory Machine Models for GPUs Koji Nakano a a Deartment of Information

More information

Navigation in SPARQL 1.1

Navigation in SPARQL 1.1 Navigation in SPARQL 1.1 Marcelo Arenas PUC Chile & U. of Oxford Oxford, November 2012 Semantic Web The Semantic Web is an extension of the current web in which information is given well-defined meaning,

More information

BGP Path visibility issues.

BGP Path visibility issues. BGP Path visibility issues Pierre.Francois@UCLouvain.be ToC ibgp draft-ietf-idr-add-aths Why doing Add-aths draft-ietf-idr-add-aths-guidelines (draft-uttaro-idr-add-aths-guidelines) Why only a small subset

More information

An Efficient and Highly Accurate Technique for Periodic Planar Scanner Calibration with the Antenna Under Test in Situ

An Efficient and Highly Accurate Technique for Periodic Planar Scanner Calibration with the Antenna Under Test in Situ An Efficient and Highly Accurate echnique for Periodic Planar Scanner Calibration with the Antenna Under est in Situ Scott Pierce I echnologies 1125 Satellite Boulevard, Suite 100 Suwanee, Georgia 30024

More information

22. Swaping: Policies

22. Swaping: Policies 22. Swaing: Policies Oerating System: Three Easy Pieces 1 Beyond Physical Memory: Policies Memory ressure forces the OS to start aging out ages to make room for actively-used ages. Deciding which age to

More information

Lecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.)

Lecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.) Advanced Algorithms Fall 2015 Lecture 3: Geometric Algorithms(Convex sets, Divide & Conuer Algo.) Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual

More information

in Distributed Systems Department of Computer Science, Keio University into four forms according to asynchrony and real-time properties.

in Distributed Systems Department of Computer Science, Keio University into four forms according to asynchrony and real-time properties. Asynchrony and Real-Time in Distributed Systems Mario Tokoro? and Ichiro Satoh?? Deartment of Comuter Science, Keio University 3-14-1, Hiyoshi, Kohoku-ku, Yokohama, 223, Jaan Tel: +81-45-56-115 Fax: +81-45-56-1151

More information

Collective Communication: Theory, Practice, and Experience. FLAME Working Note #22

Collective Communication: Theory, Practice, and Experience. FLAME Working Note #22 Collective Communication: Theory, Practice, and Exerience FLAME Working Note # Ernie Chan Marcel Heimlich Avi Purkayastha Robert van de Geijn Setember, 6 Abstract We discuss the design and high-erformance

More information

Sage Estimating (formerly Sage Timberline Estimating) Getting Started Guide. Version has been retired. This version of the software

Sage Estimating (formerly Sage Timberline Estimating) Getting Started Guide. Version has been retired. This version of the software Sage Estimating (formerly Sage Timberline Estimating) Getting Started Guide Version 14.12 This version of the software has been retired This is a ublication of Sage Software, Inc. Coyright 2014. Sage Software,

More information

J. Parallel Distrib. Comput.

J. Parallel Distrib. Comput. J. Parallel Distrib. Comut. 71 (2011) 288 301 Contents lists available at ScienceDirect J. Parallel Distrib. Comut. journal homeage: www.elsevier.com/locate/jdc Quality of security adatation in arallel

More information

Fast Distributed Process Creation with the XMOS XS1 Architecture

Fast Distributed Process Creation with the XMOS XS1 Architecture Communicating Process Architectures 20 P.H. Welch et al. (Eds.) IOS Press, 20 c 20 The authors and IOS Press. All rights reserved. Fast Distributed Process Creation with the XMOS XS Architecture James

More information

A GPU Heterogeneous Cluster Scheduling Model for Preventing Temperature Heat Island

A GPU Heterogeneous Cluster Scheduling Model for Preventing Temperature Heat Island A GPU Heterogeneous Cluster Scheduling Model for Preventing Temerature Heat Island Yun-Peng CAO 1,2,a and Hai-Feng WANG 1,2 1 School of Information Science and Engineering, Linyi University, Linyi Shandong,

More information

PRO: a Model for Parallel Resource-Optimal Computation

PRO: a Model for Parallel Resource-Optimal Computation PRO: a Model for Parallel Resource-Otimal Comutation Assefaw Hadish Gebremedhin Isabelle Guérin Lassous Jens Gustedt Jan Arne Telle Abstract We resent a new arallel comutation model that enables the design

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 3 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents User Stories Activity Diagrams Acceptance Tests User stories Basic requirements

More information

The Java Modeling Language JML

The Java Modeling Language JML The Java Modeling Language JML Néstor Cataño ncatano@puj.edu.co Faculty of Engineering Pontificia Universidad Javeriana The Java Modelling Language JML p.1/47 Lecture Plan 1. An Introduction to JML 2.

More information

Storage Allocation CSE 143. Pointers, Arrays, and Dynamic Storage Allocation. Pointer Variables. Pointers: Review. Pointers and Types

Storage Allocation CSE 143. Pointers, Arrays, and Dynamic Storage Allocation. Pointer Variables. Pointers: Review. Pointers and Types CSE 143 Pointers, Arrays, and Dynamic Storage Allocation [Chater 4,. 148-157, 172-177] Storage Allocation Storage (memory) is a linear array of cells (bytes) Objects of different tyes often reuire differing

More information

AUTOMATIC GENERATION OF HIGH THROUGHPUT ENERGY EFFICIENT STREAMING ARCHITECTURES FOR ARBITRARY FIXED PERMUTATIONS. Ren Chen and Viktor K.

AUTOMATIC GENERATION OF HIGH THROUGHPUT ENERGY EFFICIENT STREAMING ARCHITECTURES FOR ARBITRARY FIXED PERMUTATIONS. Ren Chen and Viktor K. inuts er clock cycle Streaming ermutation oututs er clock cycle AUTOMATIC GENERATION OF HIGH THROUGHPUT ENERGY EFFICIENT STREAMING ARCHITECTURES FOR ARBITRARY FIXED PERMUTATIONS Ren Chen and Viktor K.

More information

A Symmetric FHE Scheme Based on Linear Algebra

A Symmetric FHE Scheme Based on Linear Algebra A Symmetric FHE Scheme Based on Linear Algebra Iti Sharma University College of Engineering, Comuter Science Deartment. itisharma.uce@gmail.com Abstract FHE is considered to be Holy Grail of cloud comuting.

More information

Object and Native Code Thread Mobility Among Heterogeneous Computers

Object and Native Code Thread Mobility Among Heterogeneous Computers Object and Native Code Thread Mobility Among Heterogeneous Comuters Bjarne Steensgaard Eric Jul Microsoft Research DIKU (Det. of Comuter Science) One Microsoft Way University of Coenhagen Redmond, WA 98052

More information

Multicast in Wormhole-Switched Torus Networks using Edge-Disjoint Spanning Trees 1

Multicast in Wormhole-Switched Torus Networks using Edge-Disjoint Spanning Trees 1 Multicast in Wormhole-Switched Torus Networks using Edge-Disjoint Sanning Trees 1 Honge Wang y and Douglas M. Blough z y Myricom Inc., 325 N. Santa Anita Ave., Arcadia, CA 916, z School of Electrical and

More information

Using Kullback-Leibler Divergence to Model Opponents in Poker

Using Kullback-Leibler Divergence to Model Opponents in Poker Comuter Poker and Imerfect Information: Paers from the I-14 Worksho Using Kullback-Leibler Divergence to Model Oonents in Poker Jiajia Zhang 1, Xuan Wang, Lin Yao 3, Jingeng Li 1, Xuedong Shen 1 1 Intelligence

More information

Extending OWL with Explicit Dependency

Extending OWL with Explicit Dependency Extending OWL with Exlicit Deendency Jean-Paul Calbimonte, Fabio Porto Ecole Politechnique Fédéral de Lausanne EPFL Database Laboratory - Switzerland firstname.lastname@efl.ch Abstract. Functional Deendency

More information

Sage 300 Construction and Real Estate (formerly Sage Timberline Office)

Sage 300 Construction and Real Estate (formerly Sage Timberline Office) Sage 300 Construction and Real Estate (formerly Sage Timberline Office) 2017 Year-End Procedures and Government Forms Guide (Canada) This is a ublication of Sage Software, Inc. 2018 The Sage Grou lc or

More information

Autonomic Physical Database Design - From Indexing to Multidimensional Clustering

Autonomic Physical Database Design - From Indexing to Multidimensional Clustering Autonomic Physical Database Design - From Indexing to Multidimensional Clustering Stehan Baumann, Kai-Uwe Sattler Databases and Information Systems Grou Technische Universität Ilmenau, Ilmenau, Germany

More information

SKIN CANCER LESION CLASSIFICATION USING LBP BASED HYBRID CLASSIFIER

SKIN CANCER LESION CLASSIFICATION USING LBP BASED HYBRID CLASSIFIER DOI: htt://dx.doi.org/10.26483/ijarcs.v8i7.4469 Volume 8, No. 7, July August 2017 International Journal of Advanced Research in Comuter Science RESEARCH PAPER Available Online at www.ijarcs.info ISSN No.

More information

COMP30172: Advanced Algorithms Notes and Exercises on Automata-based Verification

COMP30172: Advanced Algorithms Notes and Exercises on Automata-based Verification COMP30172: Advanced Algorithms Notes and Exercises on Automata-based Verification Howard Barringer Rm2.20: Kilburn Building Email: Howard.Barringer@manchester.ac.uk March 2010 ii Contents Preface v 1 Model

More information

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Lecture 04 Software Test Automation: JUnit as an example

More information

Swift Template Matching Based on Equivalent Histogram

Swift Template Matching Based on Equivalent Histogram Swift emlate Matching ased on Equivalent istogram Wangsheng Yu, Xiaohua ian, Zhiqiang ou * elecommunications Engineering Institute Air Force Engineering University Xi an, PR China *corresonding author:

More information

Sage Estimating. (formerly Sage Timberline Estimating) Getting Started Guide

Sage Estimating. (formerly Sage Timberline Estimating) Getting Started Guide Sage Estimating (formerly Sage Timberline Estimating) Getting Started Guide This is a ublication of Sage Software, Inc. Document Number 20001S14030111ER 09/2012 2012 Sage Software, Inc. All rights reserved.

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 4 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Test in general validation and defect test unit-, component-, system-,

More information

Improving Trust Estimates in Planning Domains with Rare Failure Events

Improving Trust Estimates in Planning Domains with Rare Failure Events Imroving Trust Estimates in Planning Domains with Rare Failure Events Colin M. Potts and Kurt D. Krebsbach Det. of Mathematics and Comuter Science Lawrence University Aleton, Wisconsin 54911 USA {colin.m.otts,

More information

This document is downloaded from DR-NTU, Nanyang Technological University Library, Singapore.

This document is downloaded from DR-NTU, Nanyang Technological University Library, Singapore. This document is downloaded from DR-NTU, Nanyang Technological University Library, Singaore. Title Automatic Robot Taing: Auto-Path Planning and Maniulation Author(s) Citation Yuan, Qilong; Lembono, Teguh

More information

Analysis of the Test Driven Development by Example

Analysis of the Test Driven Development by Example Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /

More information

A BICRITERION STEINER TREE PROBLEM ON GRAPH. Mirko VUJO[EVI], Milan STANOJEVI] 1. INTRODUCTION

A BICRITERION STEINER TREE PROBLEM ON GRAPH. Mirko VUJO[EVI], Milan STANOJEVI] 1. INTRODUCTION Yugoslav Journal of Oerations Research (00), umber, 5- A BICRITERIO STEIER TREE PROBLEM O GRAPH Mirko VUJO[EVI], Milan STAOJEVI] Laboratory for Oerational Research, Faculty of Organizational Sciences University

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 9: Layered Architecture Persistency Layer; Software Development Process Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap

More information

CENTRAL AND PARALLEL PROJECTIONS OF REGULAR SURFACES: GEOMETRIC CONSTRUCTIONS USING 3D MODELING SOFTWARE

CENTRAL AND PARALLEL PROJECTIONS OF REGULAR SURFACES: GEOMETRIC CONSTRUCTIONS USING 3D MODELING SOFTWARE CENTRAL AND PARALLEL PROJECTIONS OF REGULAR SURFACES: GEOMETRIC CONSTRUCTIONS USING 3D MODELING SOFTWARE Petra Surynková Charles University in Prague, Faculty of Mathematics and Physics, Sokolovská 83,

More information

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Comuter Grahics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Comuter Grahics Grids and Interolation Next Tuesday No lecture next Tuesday!

More information

Improving the Performance of MPI Derived Datatypes by Optimizing Memory-Access Cost

Improving the Performance of MPI Derived Datatypes by Optimizing Memory-Access Cost Imroving the Performance of MPI Derived Datatyes by Otimizing Memory-Access Cost Surendra Byna William Gro Xian-He Sun Rajeev Thakur Deartment of Comuter Science Illinois Institute of Technology Chicago,

More information

High Quality Offset Printing An Evolutionary Approach

High Quality Offset Printing An Evolutionary Approach High Quality Offset Printing An Evolutionary Aroach Ralf Joost Institute of Alied Microelectronics and omuter Engineering University of Rostock Rostock, 18051, Germany +49 381 498 7272 ralf.joost@uni-rostock.de

More information

5 Object Oriented Analysis

5 Object Oriented Analysis 5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what

More information