C0600 Technical Report. Computer Animation in Java Emergent Behaviour in Autonomous Agents

Size: px
Start display at page:

Download "C0600 Technical Report. Computer Animation in Java Emergent Behaviour in Autonomous Agents"

Transcription

1 C0600 Technical Report Computer Animation in Java Emergent Behaviour in Autonomous Agents James Cogley Paul Hempseed Will Smith

2 Computer Animation in Java Emergent Behaviour in Autonomous Agents James Cogley University of Kent Computing Laboratory Canterbury, CT2 7HR Paul Hempseed University of Kent Computing Laboratory Canterbury, CT2 7HR Will Smith University of Kent Computing Laboratory Canterbury, CT2 7HR Abstract This details the research and implementation of an application to demonstrate the use of emergent behaviour (i.e. flocking) in autonomous agents. It shows that with additions to the basic flocking rules, a complex 3D visualisation of a scenario can be created. 1. Introduction Emergent behaviour refers to a group of simple entities working together to form more complex behaviours. The main sections of the work were the simulation (how the boids behave, how they work together, how they react to challenges), the visualisation (taking the simulation and environment and displaying them, the physics etc.) and the environment (designing of scenarios, obstacles) The main areas approached to complete this such as the simulation; the visualization and the environment are described in more detail in the report below. 2. Background In 1986 Craig Reynolds demonstrated a computer model for simulating the co-ordinated movement of animals such as schools of fish or flocks of birds which he consequently dubbed Boids (1). Since then there have been many examples of Boids and flocking being applied in the areas of behavioural animation, artificial life and individual based models. Behavioural animation is a procedural animation technique where an autonomous character determines its own action within certain constraints that are imposed by the animator. Since its feature film debut in 1992 (2) this technique has rapidly gained popularity in the film industry especially in recent years with more and more films using computer generated herds of stampeding wildebeests (3), hordes of alien insects (4) and even entire computer generated armies (5). Artificial life is a field of study in which attempts to model living systems, processes and their evolution through the use of computer simulations, robotics and biochemistry (6). Individual based models (IBMs) are simulations that are based on global consequences of local interactions (7). Individual based models can also be described as entity or agent based models; where the individual/entity/agent might represent a pedestrian in a crowd, or an animal in a particular environment or a vehicle in traffic. Because an individual based model is a collection of interacting parts it can also considered to be a subset of multi-agent-systems however IBMs can be distinguished by the fact that each agent represents an autonomous in the simulation. 3. Aims The aim was to create a demonstration of a flocking algorithm illustrated in a computer animation while allowing some degree of interactivity with the environment. The visualisation would be used to demonstrate complex crowd behaviours in an environment involving obstacles, attractors and repulsers. The agents used would follow the set rules of flocking and when these simple behavioural rules are used by multiple agents they should combine to create a complex emergent behaviour. The environment in which these agents exist had to provide enough stimuli to influence the boid behaviour but also present them with enough freedom to fully utilise the flocking rules. Initially the environment would be visualised in 2D which would eventually be developed into 3D. For further reading on the groups aims please refer to the Project Abstract (8) and the Requirements (9), (10) documentation.

3 4. Design and Implementation The design of the application went through a number of significant changes between iteration one and two as the focus of the project shifted and presented a number of challenges in both the design and implementation. 4.1 System Overview One of the very early design decisions was to treat the simulation and the visualisation as two distinctly separate parts and try to keep the simulation, as far as is possible, independent of the final visualisation. This gave the freedom to develop the visualisation using whatever method was best suited to the task and, more importantly, if things were not working out to change the method used while minimising any impact on the development of the simulation. This approach led to the application taking on a layered structure which is discussed further in section [4.1.2 Layered Structure] System Structure. The simulation package contains classes responsible for modelling the environment and everything within it; this includes Obstacles, Emitters, Attractors, Crowds and Boids. It also runs the flocking algorithms and calculates the forces that need to be applied to the Boids; the procedure for doing this changed significantly between Iteration One and Two. In iteration one the simulation class acted as a control class and was responsible for updating everything Simulation within the simulation, the visualisation would create an instance of a simulation and call updates on it as needed. This approach, while working well in iteration one, proved to be too inflexible for the features planned in iteration two. The simulation class was removed and the visualisation took over as the control class, using the classes in the simulation package as building blocks to create multiple complex scenarios The Layered System. Figure 1 shows a simplified overview of the application; it shows how the simulation encapsulates all of the entities that are present in a scenario. Entities that are rendered in the scene are extended in the visualisation package to include information about the visual representation of the object and how it will appear in the scene, as well as location information, information about translations and rotations and where it is located in the scene graph. Initially the Obstacle, Emitter, Attractor and Boid classes were intended to have their own r (for rendered) class in the visualisation package (e.g. rboid, robstacle etc.) which would contain information on how the object would be rendered in the visualisation. However as the Boid class was the only one intended to have a more complex appearance it was often easier to add the required fields to the original simulation class than to create a r class. While being easier this unfortunately had the effect of binding the simulation classes more tightly to the visualisation as much of the information was specific to the visualisation and the 3D API used. Visualisation Brain Boid rboid Visualisation Behaviours Crowd Scenario Environment GUI Neighbourhood Attractor Obstacles rattractor robstacle Emitters remitter Figure 1 - High Level View of the System

4 5. The Visualisation The visualisation is more than the front-end to the simulation; the visualisation takes the tools/building blocks from the simulation and uses them to construct complex scenarios demonstrating the flexibility of the simulation. Not only that it allows the user to interact with the scenarios, modifying them and observing the results. 5.1 Java 3D vs. jmonkeyengine From the very beginning there was a desire for the visualisation to be created in 3D (if only for the aesthetics); however it was not clear how feasible a 3D environment would be as the group lacked knowledge and experience of developing such an application. For the Visualisation a solution was needed that would enable the rapid creation of prototypes that could be easily expanded into full 3D if required (at a later date), that wasn t too difficult to learn and performed well Java 3D. Java 3D is a 3D API created by Sun to enable the creation of three dimensional graphics applications and internet-based 3D applets (11). Java 3D has a number of benefits; it has a large number of tutorials and documentation available on the internet. It has a number of official and community based geometry loaders available. And the general purpose nature of the API means it can be used to create a wide variety of applications. However because Java 3D tries to be everything to everyone the API seems to be unwieldy and the workflow appears to be restrictive jmonkeyengine. The jmonkeyengine (jme) is a high performance scene graph based API aimed at both hobbyist and commercial games developers (12). jme offers a number of attractive features, among them are; a wide variety of geometry loaders, allow animated meshes to be loaded and supporting both skeletal and vertex based animation. Optional packages such as the jme-physics package that provides Java wrappers for a number of physics engines, including ODE (13). The more focussed nature of the API meant that while it wasn t any easier to learn than Java3D there was less to learn API Conclusion. With the criteria mentioned in [5.1] in mind jmonkeyengine was chosen to develop the visualisation on; its more focussed approach and lighter-weight API combined with the optional packages and the ability to rapidly prototype ideas made it the best choice Visualising the Simulation As has been previously mentioned it is the role of the visualisation to provide a visual representation of the simulation; additionally the requirements state that it should provide an interface for the user to interact with the simulation Multi-Threading vs. Single Threaded. The jmonkeyengine is built upon the LWJGL (Light Weight Java Game Library) (12) which uses OpenGL (14) as a renderer. OpenGL is primarily designed for use in a single thread; as such the frameworks (such as SimpleGame etc.) within jme are also designed to work in a single thread. However in an attempt to regain some of the performance lost through the use of the physics engine, research into a multithreaded approach was carried out. The thinking being that if the Logic, Rendering and Physics could be split into separate threads it would remove, or at least, alleviate the drain on processor time caused by the physics engine. Unfortunately the physics engine was not designed for multi-threading either, and it proved impossible to keep the scene graph and the physics graph synchronised without modifying the physics engine, so the idea of multithreading had to be abandoned. 5.3 Visualising the Environment The graphical side of the environment interacts with the Visualisation class; this is represented on screen as simple blocks or cuboids, of various sizes in different locations. The first Iteration consisted of just four walls which had two purposes, to keep the boids in a basic environment in order for experiments to be run on their behaviour but also to make it easier to find any problems when creating and positioning obstacles. In the second iteration a train station was used to add more depth to the simulation. As obstacles could only be created as blocks it meant either the boids had to climb them like steps or some other obstacle shape be used instead. By using MilkShape (15) the two-stage bridge could be created (see Figure 2) that would allow boids to walk over it, reaching the other platform without trying to avoid it like a normal obstacle. From this, other obstacles were generated such as trains which can be added and placed in the same way as other obstacles but are visualised as complex 3D geometry rather than simple blocks.

5 Figure 2 - The Bridge Obstacle in Milkshape 3D 6. GUI The specifications for the visualisation stated that it should also provide an interface for the user to interact and modify the simulation. In iteration one the main emphasis was to develop the flocking algorithms and develop the simulation. In iteration two the focus shifted to developing the visualisation which presented several choices when it came to implementing a GUI. 6.1 SWING vs. jmedesktop vs. The Rest Designing and implementing the GUI component for the application presented some interesting decisions. As the initial designs for the interface were along the lines of a CAD program the obvious place to start was embedding the jme renderer into a standard Java swing application. That in itself proved to be a straightforward task, however things were not that simple; performance took a big hit (over 100fps slower than before) and on top of that the physics engine had issues running within the swing thread (by this time we were committed to using the physics engine) which ruled out this method. The next method of implementing a GUI was using the FengGUI packages; FengGUI is a graphical user interface (GUI) application programming interface (API) based on OpenGL. (16). In its favour the FengGUI interface had little or no effect on performance and seemed fairly easy to implement; however it did mean learning a new API and having to create an input handler to capture mouse and keyboard and the default theme was not particularly appealing. The final method investigated (17) was using the jmedesktop. The jmedesktop allows the rendering of Swing components onto a special node in the scene. The jmedesktop cost a few frames per second but not enough to rule it out. The Swing GUI runs in its own thread and can communicate with jme through the jme action handlers and events. 6.2 GUI Development and the Editor The requirement for interactivity with the simulation always intended for the user to be able to interrogate and modify properties of objects in the environment. In iteration one this requirement was delayed until iteration two while the concentration was on simulation. Iteration two gave the chance to explore a number of ways of enabling the user to modify the simulation on-the-fly. The step towards this goal was the addition of the Flocking panel; this panel displayed the behaviours, their strengths and their effective ranges (if applicable). This enabled the user to change the

6 balance between the forces generated by the flocking behaviours and observe the effects in the simulation. The next step was to add a rudimentary mapeditor (see Figure 3) that gave the user the ability to create simple scenarios for themselves by placing a series of pre-defined building blocks; Emitters (that create boids), Crowds (that contain boids, and tell them what attractor they are attracted to), Attractors (that give boids somewhere to go) and Obstacles (that give the boid something to avoid). Figure 3 - The Iteration Two Editor 7. Flocking and Behaviours The decision process for the simulation was a trade-off between the emergent behaviours of flocking, and the pre-defined certainties of pathfinding. It was decided that path-finding had been proven to work in the past and would not be a suitable system to test behaviours, as people do not move in straight lines, there is a degree of randomness that cannot be easily built into a pathfinding approach. Flocking on the other hand is a common way of showing emergent behaviours. It was chosen as the initial primary factor in controlling the boids in order to give them a natural decision process, without the constraints that path-finding has, so that hopefully they would learn and work as a group of boids to complete tasks, without specific knowledge of what those tasks would be. In Iteration 1, a purely flocking system was used to control the boids (20). They would use the behaviours of separation, alignment, and cohesion, as well as an extra rule to be attracted to attractors. This simplistic system had problems. It was found that certain behaviours were cancelling each other out. (21) For example, the cohesion and separation would often have the inverse velocity change of each other, making the effects of them nullified, and making alignment the overriding force on the boids, making them move slowly in formation. There were also problems that the behaviours all had the same weighting throughout the running of the simulation, so even when certain behaviours were required to be made more important (such as when boids were very close to an obstacle and heading towards it) they could do little to slow themselves down. For Iteration 2 therefore, it was decided to make the boids behaviours more complex. Each boid had a brain which would call a number of behaviours. (22) These behaviours had different weightings, which can be changed in runtime. This can be done in two ways. One is by the user using the GUI (Flocking Tab). It is also changed by the program when certain critical situations occur. For example, if a boid is heading toward a collision imminently, the weighting of that behaviour is increased to help it deal with the

7 problem and increase the probability of the collision being avoided. To help boids getting out of loops of behaviour, or getting stuck, random offsets were added to the behaviours, so that there would always be small differences in the decisions the boids would make, keeping them moving and helping boids avoid getting stuck. These additions and alterations to the flocking system gave the boids more independence in the sense of small movements, while at the same time making sure they followed the general rule of flocking. So instead of looking like a flock of birds moving in tandem, they looked more like a group of people walking through a train station. In terms of suitability, flocking alone was not a suitable approach. But, when made more complex with seek behaviours amongst others, it was possible to use flocking to create a realistic simulation. With more time, the aim was to have developed an interchangeable brain system with many more behaviours, which could call upon any mixture of these behaviours depending on the boids current state. With this system, due to the greater possibilities for action the boids can take, in terms of the different combinations of behaviours they can use, the possibility to make the boids more realistic is increased. The influences of these behaviours would continue to be independent and changeable in runtime, as would the list of behaviours the boid was using in different states of existence (near wall, near attractor, no boids nearby etc). 8. Collision Detection Management Collision detection management deals with the obstacle layout and positioning within the environment. In order for boids to make realistic alterations to their direction and velocity they must know whether or not they are about to collide with an obstacle. This was achieved by storing the locations of all obstacles in an Array List which acts as a grid representation of the environment, whenever a boid is about to move it checks the relevant grid space in the Array List to see if it contains an obstacle or not. What makes this important is that the boids have no knowledge of their surroundings; they simply react to what is in their path. The benefit of using an Array List is that it can be quickly searched by the boid using its velocity to predict its next vector. This method could have been changed to a tree structure to make the search times more efficient but due to time constraints and the fact that the current method still worked without fault meant that it was left unaltered. The final iteration uses a much more complex scenario which acted as a useful test of the collision detection system; this is made up of two platforms and a two-stage bridge connecting them, as well as a ticket office and gates. The main problem exists with the bridge as boids would simply identify it as an obstacle rather than a possible path. To overcome this, the bridge was not added to the list of obstacles and the physics engine was left to deal with the boid interaction. By ignoring the bridge the boids move over it as if they were moving on the same level. Other obstacles such as the train were not added to the list of obstacles because of the need to update the list every time they move. It was much more sensible to get the boids to avoid the railway lines instead just as a human would in real life. 9. User Testing and Performance The project fair presented the opportunity to gain some feedback from people outside of the project group. Visitors were keen to view the demonstration and all of the participants were impressed with the visual side of the project. However they were a little more hesitant when it came to using the application, finding the layout of interface to be difficult to understand and the process of creating a scenario cumbersome. It also became apparent during this session that the application requires a method for resetting the current scenario; as currently the application must be shut down and re-started in order to create a new scenario. The performance analysis (23) indicates that generally the application performs well on reasonably modern hardware. Even with the more complex, animated boids the rendering of the scene is still rendered at an acceptable speed. However the analysis does highlight some performance issues with the obstacle avoidance methods. 10. Conclusions From this report, it is felt that the following conclusions can be made about the different sections of the work. With the Visualisation, the visual appeal was impressive, and all the main requirements were achieved. However, some requirements were not up to the standards set at the beginning of the iteration. The editor was unable to create complex scenarios in a reasonable length of time, and was clumsy to use. With work it could be made to create bigger sections of environment quicker, but as it currently stands it is impractical. On the Environment side, it is felt that the methods it uses are very efficient; making it suitable to handle an even larger scenario than the train station it is currently used for. However, there are some reliability issues, particularly with the addobstacle method. It can come into difficulties in certain one-off situations due to an algorithmic inaccuracy.

8 With the Simulation, it was proven that flocking mixed with other behaviours can create a realistic simulation of a complex scenario. However, further optimisation of the methods in the simulation is required if a very large scenario was to be created. This could be done by the addition of a more efficient special partitioning system. 11. Further Development It was not possible to implement all of the planned features in the time allotted. Given more time it would have possible to implement some of the higher priority features, as discussed in the following sections Environment Loader / XML In the development of the train station scenario, it was recognised that the scenarios being created became more complex. It was also recognised that for the end-user of the system, the functionality of the program would be quite limited. It was decided that creating an XML Schema for the purpose of creating complex environments, which could then be imported into the program would be the best approach to tackling this problem. Unfortunately, due to time constraints the system was not completed. However, the XML Schema and an example XML environment file were made (18), and shows that with more time it would have been an attractive option to further the capabilities of the program Environment Builder Unfortunately due to time constraints many of the features planned for the editor were not implemented, or were not completed. Given time for a third iteration there were plans for providing the user with more pre-defined obstacle shapes (such as ramps and bridges), the ability to stack obstacles to increase their height and to place them on differing levels (to create stairs for example) and the option to import obstacles from external files. Further debugging information was also planned but not implemented in time, for example; lines to show a boids current destination, boid trails to show where the boids have been highlighting heavy traffic areas and attaching the camera to a boid enabling the user to easily track a single boids path through the scenario. 12. Acknowledgements We would like to thank our project supervisor, Dr Peter Kenny at the University of Kent, for his guidance and support throughout the course of the project. We would also like to acknowledge the members of the jmonkeyengine community for their work on the jmonkeyengine and finally Craig Reynolds for his work on Flocking (1) and Steering Behaviours (19). 13. References 1. Flocks, Herds, and Schools: A Distributed Behavioral Model, in Computer Graphics. Reynolds, C. W. s.l. : SIGGRAPH '87, pp Burton, Tim. Batman Returns. Warner Bros. Pictures, Roger Allers, Rob Minkoff. The Lion King. Disney, Verhoeven, Paul. Starship Troopers. Tristar Pictures, Jackson, Peter. The Lord of the Rings: The Two Towers. New Line Cinema, Unknown. dictonary.com. dictonary.com. [Online] [Cited: 25 March 2008.] life. 7. Reynolds, Craig. Individual-Based Models. [Online] 28 September [Cited: 25 March 2008.] 8. Cogley, James. Project Abstract Smith, Will. Iteration One Specification Iteration Two Specification Sun Microsystems, Inc. Java SE Desktop Technologies - Java 3D API. Java Technology. [Online] Sun Microsystems, Inc., [Cited: 25 March 2008.] 3d/. 12. Powell, Mark. About jmonkeyengine. jmonkeyengine.com. [Online] 24 January [Cited: 25 March 2008.] ontent&task=view&id=21&itemid= Smith, Russell. Open Dynamics Engine. Open Dynamics Engine. [Online] 28 May [Cited: 25 March 2008.] lwjgl.org. lwjgl.org. lwjgl.org. [Online] [Cited: 25 March 2008.] Ciragan, Mete. Chumbalum Soft. Chumbalum Soft. [Online] Chumbalum Soft, [Cited: 25 March 2008.] Schaback, Jjohannes. FengGUI. FengGUI. [Online] [Cited: 25 March 2008.] Cogley, James. GUI Design Hempseed, Paul. The Scenario System Steering Behaviors For Autonomous Characters. Reynolds, C. W. San Jose, California : Miller

9 Freeman Game Group, Game Developers Conference. pp Cogley, James. Flocking Algorithm Hempseed, Paul. Iteration One Simulation Evaluation Cogley, James. Behaviour System Figure Hempseed, Paul. Performance Analysis 2008.

Particles, Flocks, Herds, Schools

Particles, Flocks, Herds, Schools CS 4732: Computer Animation Particles, Flocks, Herds, Schools Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Control vs. Automation Director's

More information

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build

More information

Flocking and Steering Behaviors. 15-462: Computer Graphics April 08, 2010

Flocking and Steering Behaviors. 15-462: Computer Graphics April 08, 2010 Flocking and Steering Behaviors 15-462: Computer Graphics April 08, 2010 Outline Real Flocks Our Foreflocks Particle Systems to Modified Models Flocking Behaviors Separation Cohesion Alignment Additional

More information

The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information

Behavioral Animation Simulation of Flocking Birds

Behavioral Animation Simulation of Flocking Birds Behavioral Animation Simulation of Flocking Birds Autonomous characters determine their actions Simulating the paths of individuals in: flocks of birds, schools of fish, herds of animals crowd scenes 1.

More information

Computer Animation and Visualisation. Lecture 1. Introduction

Computer Animation and Visualisation. Lecture 1. Introduction Computer Animation and Visualisation Lecture 1 Introduction 1 Today s topics Overview of the lecture Introduction to Computer Animation Introduction to Visualisation 2 Introduction (PhD in Tokyo, 2000,

More information

Air Hockey Simulation

Air Hockey Simulation CO600 Final Year Group Project Air Hockey Simulation A Physics Based Animation in Java Daniel Usher Matthew Emmerson Priyesh Mistry Air Hockey Simulation - A Physics Based Animation in Java Authors Daniel

More information

Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3

Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3 Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3 Exercise 2 Section A Crowd Control Crowd simulation is something you see in movies every

More information

Java game programming. Game engines. Fayolle Pierre-Alain

Java game programming. Game engines. Fayolle Pierre-Alain Java game programming Game engines 2010 Fayolle Pierre-Alain Plan Some definitions List of (Java) game engines Examples of game engines and their use A first and simple definition A game engine is a (complex)

More information

14.10.2014. Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

14.10.2014. Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO) Overview Kyrre Glette kyrrehg@ifi INF3490 Swarm Intelligence Particle Swarm Optimization Introduction to swarm intelligence principles Particle Swarm Optimization (PSO) 3 Swarms in nature Fish, birds,

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

Thea Omni Light. Thea Spot Light. Light setup & Optimization

Thea Omni Light. Thea Spot Light. Light setup & Optimization Light setup In this tutorial we will learn how to setup lights inside Thea Studio and how to create mesh lights and optimize them for faster rendering with less noise. Let us have a look at the different

More information

Masters in Computing and Information Technology

Masters in Computing and Information Technology Masters in Computing and Information Technology Programme Requirements Taught Element, and PG Diploma in Computing and Information Technology: 120 credits: IS5101 CS5001 or CS5002 CS5003 up to 30 credits

More information

Masters in Networks and Distributed Systems

Masters in Networks and Distributed Systems Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to

More information

Masters in Advanced Computer Science

Masters in Advanced Computer Science Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate

More information

Game Programming with Groovy. James Williams @ecspike Sr. Software Engineer, BT/Ribbit

Game Programming with Groovy. James Williams @ecspike Sr. Software Engineer, BT/Ribbit Game Programming with Groovy James Williams @ecspike Sr. Software Engineer, BT/Ribbit About Me Sr. Software Engineer at BT/Ribbit Co-creator of Griffon, a desktop framework for Swing using Groovy Contributer

More information

Masters in Artificial Intelligence

Masters in Artificial Intelligence Masters in Artificial Intelligence Programme Requirements Taught Element, and PG Diploma in Artificial Intelligence: 120 credits: IS5101 CS5001 CS5010 CS5011 CS4402 or CS5012 in total, up to 30 credits

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

Mobile Game and App Development the Easy Way

Mobile Game and App Development the Easy Way Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers

More information

Topology Control and Mobility Strategy for UAV Ad-hoc Networks: A Survey

Topology Control and Mobility Strategy for UAV Ad-hoc Networks: A Survey Topology Control and Mobility Strategy for UAV Ad-hoc Networks: A Survey Zhongliang Zhao, Torsten Braun Institute of Computer Science and Applied Mathematics, University of Bern Neubrückstrasse 10, 3012

More information

The Car Tutorial Part 1 Creating a Racing Game for Unity

The Car Tutorial Part 1 Creating a Racing Game for Unity The Car Tutorial Part 1 Creating a Racing Game for Unity Introduction 3 We will show 3 Prerequisites 3 We will not show 4 Part 1: Assembling the Car 5 Adding Collision 6 Shadow settings for the car model

More information

Behavioral Animation Modeling in the Windows Environment

Behavioral Animation Modeling in the Windows Environment Behavioral Animation Modeling in the Windows Environment MARCELO COHEN 1 CARLA M. D. S. FREITAS 1 FLAVIO R. WAGNER 1 1 UFRGS - Universidade Federal do Rio Grande do Sul CPGCC - Curso de Pós Graduação em

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Introduction to scripting with Unity

Introduction to scripting with Unity Introduction to scripting with Unity Scripting is an essential part of Unity as it defines the behaviour of your game. This tutorial will introduce the fundamentals of scripting using Javascript. No prior

More information

Voice Driven Animation System

Voice Driven Animation System Voice Driven Animation System Zhijin Wang Department of Computer Science University of British Columbia Abstract The goal of this term project is to develop a voice driven animation system that could take

More information

A Multi-Agent Approach to a Distributed Schedule Management System

A Multi-Agent Approach to a Distributed Schedule Management System UDC 001.81: 681.3 A Multi-Agent Approach to a Distributed Schedule Management System VYuji Wada VMasatoshi Shiouchi VYuji Takada (Manuscript received June 11,1997) More and more people are engaging in

More information

CURRICULUM VITAE EDUCATION:

CURRICULUM VITAE EDUCATION: CURRICULUM VITAE Jose Antonio Lozano Computer Science and Software Development / Game and Simulation Programming Program Chair 1902 N. Loop 499 Harlingen, TX 78550 Computer Sciences Building Office Phone:

More information

An evaluation of JavaFX as 2D game creation tool

An evaluation of JavaFX as 2D game creation tool An evaluation of JavaFX as 2D game creation tool Abstract With the current growth in the user experience,and the existence of multiple publishing platforms, the investigation of new game creation tools

More information

Computing Concepts with Java Essentials

Computing Concepts with Java Essentials 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

Computer and Information Sciences

Computer and Information Sciences Computer and Information Sciences Dr. John S. Eickmeyer, Chairperson Computers are no longer huge machines hidden away in protected rooms and accessible to only a few highly-trained individuals. Instead,

More information

mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene.

mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene. A Ball in a Box 1 1 Overview VPython is a programming language that is easy to learn and is well suited to creating 3D interactive models of physical systems. VPython has three components that you will

More information

Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion

Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion Ch 1: What is Game Programming Really Like? Ch 2: What s in a Game? Quiz #1 Discussion Developing a Game Game Architecture Resources: Chapter 2 (Game Coding Complete) What was your last game architecture

More information

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances

More information

Developing an Inventory Management System for Second Life

Developing an Inventory Management System for Second Life Developing an Inventory Management System for Second Life Abstract Anthony Rosequist Workflow For the progress report a month ago, I set the goal to have a basic, functional inventory management system

More information

CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

More information

CARS Configurable Automotive Research Simulator

CARS Configurable Automotive Research Simulator CARS Configurable Automotive Research Simulator Dagmar Kern, Marco Müller, Stefan Schneegaß, Lukasz Wolejko-Wolejszo, Albrecht Schmidt Pervasive Computing University of Duisburg-Essen Schützenbahn 70 45117

More information

A Generic Virtual Reality Interaction System and its Extensions Using the Common Object Request Broker Architecture (CORBA)

A Generic Virtual Reality Interaction System and its Extensions Using the Common Object Request Broker Architecture (CORBA) A Generic Virtual Reality Interaction System and its Extensions Using the Common Object Request Broker Architecture (CORBA) ABSTRACT The paper describes the design and implementation of an immersive Virtual

More information

THE BCS PROFESSIONAL EXAMINATIONS Diploma. April 2006 EXAMINERS REPORT. Systems Design

THE BCS PROFESSIONAL EXAMINATIONS Diploma. April 2006 EXAMINERS REPORT. Systems Design THE BCS PROFESSIONAL EXAMINATIONS Diploma April 2006 EXAMINERS REPORT Systems Design Question. a) Write a BRIEF explanation of the purpose of TWO of the following UML diagrams as used in Object- Oriented

More information

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory Broken Shard Alpha Report Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann TUM Computer Games Laboratory Desired Target Desired Target Network Server and Client One of our priority desired

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

LONG BEACH CITY COLLEGE MEMORANDUM

LONG BEACH CITY COLLEGE MEMORANDUM LONG BEACH CITY COLLEGE MEMORANDUM DATE: May 5, 2000 TO: Academic Senate Equivalency Committee FROM: John Hugunin Department Head for CBIS SUBJECT: Equivalency statement for Computer Science Instructor

More information

Visualisation in the Google Cloud

Visualisation in the Google Cloud Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores

More information

Analysis of Micromouse Maze Solving Algorithms

Analysis of Micromouse Maze Solving Algorithms 1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.

More information

Simulation Software: Practical guidelines for approaching the selection process

Simulation Software: Practical guidelines for approaching the selection process Practical guidelines for approaching the selection process Randall R. Gibson, Principal / Vice President Craig Dickson, Senior Analyst TranSystems I Automation Associates, Inc. Challenge Selecting from

More information

Masters in Human Computer Interaction

Masters in Human Computer Interaction Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from

More information

Adding Animation With Cinema 4D XL

Adding Animation With Cinema 4D XL Step-by-Step Adding Animation With Cinema 4D XL This Step-by-Step Card covers the basics of using the animation features of Cinema 4D XL. Note: Before you start this Step-by-Step Card, you need to have

More information

<Insert Picture Here> Java, the language for the future

<Insert Picture Here> Java, the language for the future 1 Java, the language for the future Adam Messinger Vice President of Development The following is intended to outline our general product direction. It is intended for information

More information

3D VIRTUAL DESKTOP APPLICATION Of UNSW. Introduction. What we propose to do 2/4. What we propose to do 1/4. What we propose to do 4/4

3D VIRTUAL DESKTOP APPLICATION Of UNSW. Introduction. What we propose to do 2/4. What we propose to do 1/4. What we propose to do 4/4 3D VIRTUAL DESKTOP APPLICATION Of UNSW Introduction Objective To build a stand alone or web based interactive virtual 3D map of the UNSW Kensington campus. What do we have to start off with? An existing

More information

Multiphase Flow - Appendices

Multiphase Flow - Appendices Discovery Laboratory Multiphase Flow - Appendices 1. Creating a Mesh 1.1. What is a geometry? The geometry used in a CFD simulation defines the problem domain and boundaries; it is the area (2D) or volume

More information

A static representation for ToonTalk programs

A static representation for ToonTalk programs A static representation for ToonTalk programs Mikael Kindborg mikki@ida.liu.se www.ida.liu.se/~mikki Department of Computer and Information Science Linköping University Sweden Abstract Animated and static

More information

Event processing in Java: what happens when you click?

Event processing in Java: what happens when you click? Event processing in Java: what happens when you click? Alan Dix In the HCI book chapter 8 (fig 8.5, p. 298), notification-based user interface programming is described. Java uses this paradigm and you

More information

Web Application Testing. Web Performance Testing

Web Application Testing. Web Performance Testing Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)

More information

SCALABILITY AND AVAILABILITY

SCALABILITY AND AVAILABILITY SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase

More information

Graphics. Computer Animation 고려대학교 컴퓨터 그래픽스 연구실. kucg.korea.ac.kr 1

Graphics. Computer Animation 고려대학교 컴퓨터 그래픽스 연구실. kucg.korea.ac.kr 1 Graphics Computer Animation 고려대학교 컴퓨터 그래픽스 연구실 kucg.korea.ac.kr 1 Computer Animation What is Animation? Make objects change over time according to scripted actions What is Simulation? Predict how objects

More information

Experiences with 2-D and 3-D Mathematical Plots on the Java Platform

Experiences with 2-D and 3-D Mathematical Plots on the Java Platform Experiences with 2-D and 3-D Mathematical Plots on the Java Platform David Clayworth Maplesoft What you will learn > Techniques for writing software that plots mathematical and scientific data > How to

More information

SuperViz: An Interactive Visualization of Super-Peer P2P Network

SuperViz: An Interactive Visualization of Super-Peer P2P Network SuperViz: An Interactive Visualization of Super-Peer P2P Network Anthony (Peiqun) Yu pqyu@cs.ubc.ca Abstract: The Efficient Clustered Super-Peer P2P network is a novel P2P architecture, which overcomes

More information

Agile Business Process Automation

Agile Business Process Automation Agile Business Process Automation by David Nichols Currently there is a lot of excitement and competition in the Business Process Automation space, however, despite the plethora of BPA platforms available,

More information

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 by IBM Corporation v1.1, 2002 05 03 Revision History Revision v1.1 2002 05 03 Revised by: sds Converted to DocBook XML and updated broken links. Revision v1.0 2002 01 28 Revised

More information

SOFA an Open Source Framework for Medical Simulation

SOFA an Open Source Framework for Medical Simulation SOFA an Open Source Framework for Medical Simulation J. ALLARD a P.-J. BENSOUSSAN b S. COTIN a H. DELINGETTE b C. DURIEZ b F. FAURE b L. GRISONI b and F. POYER b a CIMIT Sim Group - Harvard Medical School

More information

Game Design From Concepts To Implementation

Game Design From Concepts To Implementation Game Design From Concepts To Implementation Overview of a Game Engine What is a Game Engine? (Really) Technical description of game: A Soft real-time interactive agent-based computer simulation A game

More information

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini DM810 Computer Game Programming II: AI Lecture 11 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Resume Decision trees State Machines Behavior trees Fuzzy

More information

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus ICICTE 2014 Proceedings 1 GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus Abstract This paper presents

More information

Small Group Software Development: A Case Study

Small Group Software Development: A Case Study Small Group Software Development: A Case Study Rob Jansen University of South Carolina University of Minnesota, Morris [phone number] jans0184@morris.umn.edu ABSTRACT The development process that a group

More information

JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers

JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers Technology White Paper JStatCom Engineering, www.jstatcom.com by Markus Krätzig, June 4, 2007 Abstract JStatCom is a software framework

More information

Fire Simulation For Games

Fire Simulation For Games Fire Simulation For Games Dennis Foley Abstract Simulating fire and smoke as well as other fluid like structures have been done in many different ways. Some implementations use very accurate physics some

More information

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 /

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 / Computer Animation Guoying Zhao 1 / 66 Basic Elements of Computer Graphics Modeling construct the 3D model of the scene Rendering Render the 3D model, compute the color of each pixel. The color is related

More information

Testing Intelligent Device Communications in a Distributed System

Testing Intelligent Device Communications in a Distributed System Testing Intelligent Device Communications in a Distributed System David Goughnour (Triangle MicroWorks), Joe Stevens (Triangle MicroWorks) dgoughnour@trianglemicroworks.com United States Smart Grid systems

More information

THE APPLICATION OF ARTIFICIAL INTELLIGENCE TO SOLVE A PHYSICAL PUZZLE. Dana Cremer

THE APPLICATION OF ARTIFICIAL INTELLIGENCE TO SOLVE A PHYSICAL PUZZLE. Dana Cremer THE APPLICATION OF ARTIFICIAL INTELLIGENCE TO SOLVE A PHYSICAL PUZZLE Dana Cremer Submitted to the faculty of the University Graduate School in partial fulfillment of the requirements for the degree Master

More information

GGobi meets R: an extensible environment for interactive dynamic data visualization

GGobi meets R: an extensible environment for interactive dynamic data visualization New URL: http://www.r-project.org/conferences/dsc-2001/ DSC 2001 Proceedings of the 2nd International Workshop on Distributed Statistical Computing March 15-17, Vienna, Austria http://www.ci.tuwien.ac.at/conferences/dsc-2001

More information

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE and Post- Data Visualization with Eclipse ICE Alex McCaskey Research Staff Oak Ridge National Laboratory mccaskeyaj@ornl.gov @amccaskey2223 Taylor Patterson Research Associate Oak Ridge National Laboratory

More information

Process Automation Tools For Small Business

Process Automation Tools For Small Business December 3, 2013 Tom Bellinson Process Automation from Scratch Over the course of 2013 I have written about a number of canned off the shelf (COTS) products that can be used to automate processes with

More information

Masters in Information Technology

Masters in Information Technology Computer - Information Technology MSc & MPhil - 2015/6 - July 2015 Masters in Information Technology Programme Requirements Taught Element, and PG Diploma in Information Technology: 120 credits: IS5101

More information

Robot Task-Level Programming Language and Simulation

Robot Task-Level Programming Language and Simulation Robot Task-Level Programming Language and Simulation M. Samaka Abstract This paper presents the development of a software application for Off-line robot task programming and simulation. Such application

More information

Maya 2014 Basic Animation & The Graph Editor

Maya 2014 Basic Animation & The Graph Editor Maya 2014 Basic Animation & The Graph Editor When you set a Keyframe (or Key), you assign a value to an object s attribute (for example, translate, rotate, scale, color) at a specific time. Most animation

More information

ANIMATION a system for animation scene and contents creation, retrieval and display

ANIMATION a system for animation scene and contents creation, retrieval and display ANIMATION a system for animation scene and contents creation, retrieval and display Peter L. Stanchev Kettering University ABSTRACT There is an increasing interest in the computer animation. The most of

More information

Proposal for a Virtual 3D World Map

Proposal for a Virtual 3D World Map Proposal for a Virtual 3D World Map Kostas Terzidis University of California at Los Angeles School of Arts and Architecture Los Angeles CA 90095-1467 ABSTRACT The development of a VRML scheme of a 3D world

More information

Orange Unified School District Video Game Design II Year Course

Orange Unified School District Video Game Design II Year Course Course No. B861 O642 Orange Unified School District Video Game Design II Year Course Grade Level: 10-12 Prerequisites: Video Game Design 1 Introduction to the Subject Video Game Design II is an advanced

More information

Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF

Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF Kucsera Péter (kucsera.peter@kvk.bmf.hu) Abstract In this article an autonomous advertising mobile robot that has been realized in

More information

The Application of Process Automation and Optimisation in the Rapid Development of New Passenger Vehicles at SAIC Motor

The Application of Process Automation and Optimisation in the Rapid Development of New Passenger Vehicles at SAIC Motor The Application of Process Automation and Optimisation in the Rapid Development of New Passenger Vehicles at SAIC Motor Dave Husson Vehicle CAE Manager, SAIC Motor UK Technical Centre Lowhill Lane, Longbridge,

More information

Mobile App Development Using App Inventor

Mobile App Development Using App Inventor Mobile App Development Using App Inventor October 2013 Mahsa Mohaghegh and Mobile Development Team @ Unitec The Post-PC Era 2007: Apple releases ios on the iphone 2008: Google releases Android on the HTC

More information

An evaluation of the Java Card environment

An evaluation of the Java Card environment An evaluation of the Java Card environment Christophe Rippert, Daniel Hagimont Contact: Christophe Rippert, Sirac Laboratory INRIA Rhône-Alpes, 655 avenue de l Europe Montbonnot 38334 St Ismier Cedex,

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Principles of Traditional Animation How to create maximum impact page 1 How to create maximum impact Early animators worked from scratch to analyze and improve upon silence

More information

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch. CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation

More information

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Distributed Dynamic Load Balancing for Iterative-Stencil Applications Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,

More information

TOPAS: a Web-based Tool for Visualization of Mapping Algorithms

TOPAS: a Web-based Tool for Visualization of Mapping Algorithms TOPAS: a Web-based Tool for Visualization of Mapping Algorithms 0. G. Monakhov, 0. J. Chunikhin, E. B. Grosbein Institute of Computational Mathematics and Mathematical Geophysics, Siberian Division of

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Graphics Programming December, 2005 1 Table of Contents

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Digital 3D Animation

Digital 3D Animation Elizabethtown Area School District Digital 3D Animation Course Number: 753 Length of Course: 1 semester 18 weeks Grade Level: 11-12 Elective Total Clock Hours: 120 hours Length of Period: 80 minutes Date

More information

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,

More information

Games Development Education to Industry. Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems

Games Development Education to Industry. Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems Games Development Education to Industry Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems How do they get from inspiration to destination? Where do they

More information

WebSphere ESB Best Practices

WebSphere ESB Best Practices WebSphere ESB Best Practices WebSphere User Group, Edinburgh 17 th September 2008 Andrew Ferrier, IBM Software Services for WebSphere andrew.ferrier@uk.ibm.com Contributions from: Russell Butek (butek@us.ibm.com)

More information

OpenMI 'in a nutshell'

OpenMI 'in a nutshell' OpenMI Association, Technical Committee January 2010 1. Introduction... 1 2. Standard... 2 2.1. Definitions... 4 2.1.1. Model... 4 2.1.2. Value... 4 2.1.3. Spatial... 5 2.2. Composition building... 5 2.3.

More information

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development

More information

Mocap class 8 - Creating an interactive 3D garden JMG Spring 2011

Mocap class 8 - Creating an interactive 3D garden JMG Spring 2011 Mocap class 8 - Creating an interactive 3D garden JMG Spring 2011 INTRODUCTION: The interactive 3D garden project is a first step for creating a dynamic ecosystem, a natural environment where several animations

More information

Software Development Workflow in Robotics

Software Development Workflow in Robotics Software Development Workflow in Robotics Alois Knoll Simon Barner, Michael Geisinger, Markus Rickert Robotics and Embedded Systems Department of Informatics Technische Universität München ICRA 2009 Workshop

More information

Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques

Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques Fuzzy ognitive Map for Software Testing Using Artificial Intelligence Techniques Deane Larkman 1, Masoud Mohammadian 1, Bala Balachandran 1, Ric Jentzsch 2 1 Faculty of Information Science and Engineering,

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2015/6 - August 2015 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information