GAG: GEANT4 Adaptive Graphical User Interface M. Nagamatsu y, T. Kodama y;æ, H. Uno y, H. Yoshida y, K. Ohtsubo z;ææ, S. Tanaka z, M. Asai?, Y. Oohata

Size: px
Start display at page:

Download "GAG: GEANT4 Adaptive Graphical User Interface M. Nagamatsu y, T. Kodama y;æ, H. Uno y, H. Yoshida y, K. Ohtsubo z;ææ, S. Tanaka z, M. Asai?, Y. Oohata"

Transcription

1 GAG: GEANT4 Adaptive Graphical User Interface M. Nagamatsu y, T. Kodama y;æ, H. Uno y, H. Yoshida y, K. Ohtsubo z;ææ, S. Tanaka z, M. Asai?, Y. Oohata x;æææ, R. Hamatsu x y Naruto University of Education z Fukui University? Hiroshima Institute of Technology x Tokyo Metropolitan University æ Now at Hitachi Information Technologies ææ Now at NEC æææ Now at NTT USERS OF GEANT4 AND GUIS GEANT4 has three kinds of users; end users, application programmers and framework providers. We have developed GUIs for the ærst two categories. GAG for end users End users run GEANT4 executable æles customized and provided by application programmers. GAG ègeant4 Adaptive GUIè is a GUI for them to run GEANT4 by using commands and by changing associated parameters. We have two implementations of GAG, that is, TclèTk and Java versions. GAG provides them with a tree èjavaè or Pull-down menu ètclètkè of commands, a widget of parameter inputs of variable formats, an editor widget for logging, an error dialog and a widget for command history. GAG and GGE for Application programmers Application programmers are those who customize GEANT4 Toolkit for their detector simulation. They deæne their detector geometry and custom commands. GAG is designed so that application programmers can concentrate on their problem domains without any knowledge on visual programming. GGE ègeant4 Geometry Editorè is a GUI which helps application programmers to create their own geometry of small-scale or simple conæguration. Users can create such arrangements of volumes like, aè Single Positioned Volume, bè Repeated Volumes with translational or axially symmetric arrangements, cè Replicas

2 and dè Parametrised volumes. It provides them with a persistent editable database of materials and with widgets to deæne solids, logical and physical volumes and to save them as a persistent object. It produces C++ codes of the detector geometry from a persistent detector object. CSG or BREP solid can be previewed directly with GGE, while the full geometrical conæguration can be constructed and visualised through the compilation in conjunction with with the GEANT4 toolkit. GAG is helpful to use GEANT4's visualisation systems like DAWN and OGLIX. See the ægure 1. Momo is a uniæed environment to use GAG and GGE as well as users plug-ins. This paper reports on the design, implementation and network extension of GAG. CLASS CATEGORIES OF GEANT4 AND GAG GEANT4 oæers multiple GUIs. This leads to the splitting of the interfaces category into several sub-categories and the creation of the environments category; GEANT4's UI GUI Categories; intercom and interfaces UI GUI categories are to deæne, generate and maintain commands èintercom categoryè and to provides various types of user interactions èinterfaces categoryè. The separation of intercom category from that of interfaces is the key decision for the present scheme of UI and GUI of GEANT4. They are designed so as to minimize its disturbance to the simulator's performance, while providing various æexible and user-friendly interfaces. Interfaces category deals with UI GUI sessions with users. This category has several sub-categories corresponding to various implementation of GUIs. It provides with the abstract class G4VUIsession for user interactions. It contains basic and common interface classes such as for character terminal as well as GEANT4's backend interfaces speciæc to respective GUI implementations. The class G4UIterminal is GEANT4's backend for the terminal mode. The class G4UIGAG is the backend for the GAG mode. G4UIGAG have the same functions as those of G4UITerminal and additional functions speciæc to GAG. Environments category This category contains various GUI implementations as well as visualisation systems. Momo, GAG and GGE èjava and TclèTk versionsè are placed here. Transparent execution environment The separation of the choice of a UI session at the compilation time from its execution environment may lead to users' confusion. To avoid such simple but

3

4 annoying troubles, G4UIGAG and GAG are designed and implemented to satisfy transparent execution environment. This means that GEANT4 with no èbatch modeè or G4UIterminal ècharacter terminal modeè or G4UIGAG ègui modeè backend can be run equivalently under GAG or terminal without recompilation. DESIGN OF GAG In designing GAG, we had guidelines speciæed by the GEANT4 user requirements and oriented by the Model-View-Control model. In the MVC, a visual application is devided into three parts; model, view and controller. This model oæers very æexible schemes to GUIs. The simplest application of MVC to GAG is a separation of model ègeant4è from view and controller, in which view and controller are united in GAG. The model, or GEANT4 receives messages from GAG. GAG windows are deæned by the messages from GEANT4. For computation eæciency, GAG is allowed to ask GEANT4 all necessary information for it, only when GEANT4 is in the idle or pause states. Consequences after the MVC Model The consequences of the above design are as follows; Independent processes GEANT4 is a long-running computation. GAG is an independent process of the GEANT4 process, whose behaviour is entirely passive vis-a-vis the GEANT4. User invokes GAG which in turn executes GEANT4 as its child process. Dynamic generation of views GAG is ordered what to do in making its view by messages sent by the GEANT4 process. In this way, the view may be changed on the æy during a GEANT4 session. No visual programming required Thanks to the complete separation of GEANT4 from view and control, any commands of GEANT4 can be deæned totally independent of GAG, using classes deæned in the intercom category. This means that any knowledge on GUI programming like window manipulation, event handling and concurrency etc. is not required for application programmers. Character-based communication The two processes communicate with each other via pipes or sockets in a non-blocking mode with protocols deæned by character strings. This design allows wide choice of implementation languages for GAG.

5 Independent development of multiple views GEANT4's independence of GAG allows framework providers to develop the GEANT4 kernel without any details of GUI, and vice versa. We have witnessed the eæectiveness of TclèTk as a simple UIMS during our rapid cycling of prototyping and evaluation of GAG. Multiple implementation of GUIs End users can use both Java and TclèTk GAGs to run a GEANT4 executable. Networked GUI This abstraction a la MVC facilitates the extension of GAG to networked GUI. This was veriæed by a prototype version of RemoteGAG using Java RMI èremote Method Invokationè, described later. DEVELOPMENT OF TCLèTK AND JAVA GAG TclèTk and Java oæers necessary features for GUI in common; aè platformindependent methods of inter-process communication, bè concurrent or multithread programming, cè rapid prototyping and evaluation, dè platform independence, eè network programming, fè rich GUI components, gè ease of maintenance, hè wide user groups and experiences in many æelds, iè serialisation of objects èjavaè, jè æexible script language and robust interpreter ètclètkè, and kè future. The parallel development of GAG proved to be helpful for the validation of GUI. Two versions of GAG have identical functions. In general, the validation of GUI programs is a diæcult task without little methodological help. By developing them in parallel, we can check GAG's functions more correctly. Our experience of parallel development convinced us that the adopted strategy is general enough to be implemented with other languages or extended with more advanced schemes in future. PROTOTYPING OF A REMOTE GAG RemoteGAG using RMI has been prototyped for remote use of the expensive server systems or distributed simulation over a LAN. The RemoteGAG will be used in conjunction with a remote visualisation like VRML. This leads to network distribution of computation and visualisation. For example, GEANT4 computation runs on a UNIX server, while an end-user controls it via LAN with Windows PC. Modiæcation of GAG to RemoteGAGwas minimum. The only one class GAGpipe of Java GAG handling the pipe connection between GEANT4 process and GAG widgets must be modiæed to a remote object. We have conærmed that the use of RMI is quite eæective for the implementation of a remote GUI, since GEANT4 itself and GAG's GUI parts are completely unchanged. We have tested RemoteGAG on a UNIXèLinux + JDK1.1.5è server and client on UNIX, Windows-NTè4.0, or Windows-95. The communication speed

6 FIGURE 2. RemoteGAG client on a remote Windows95 limitation was found to be torelable in the present design by a test using ISDN of 64KBPS and by a test connecting Naruto èrmi serverè and SLAC èrmi clientè. REFERENCES 1. Y. Oohata: Master thesis, Tokyo Metropolitan University, H. Uno: "Development of GUI for GEANT4", Master thesis, Naruto University of Education, Nagamatu, Uno, Obana, Yoshida, Asai, Ohata, Hamatu: "Experience of Prototyping Tclètk-based GUI for Geant4; an Object-Oriented Toolkit for Simulation in High Energy Physics" The Fifth Annual TclèTk Workshop '97 Proceedings, p187, Boston, USENIX 4. K. Ohtsubo: Master thesis, Fukui University, T. Kodama: Master thesis, Naruto University of Education, 1998

JINI RMI JAVA JAVA UNIX TCP TCP Architectural structure: Runtime structure:

JINI RMI JAVA JAVA UNIX TCP TCP Architectural structure: Runtime structure: Carp@í Managing Dynamic Jini TM Systems æ Michael Fahrmair, Chris Salzmann, Maurice Schoenmakers Technische Universitíat Míunchen Institut fíur Informatik D-80290 Míunchen, Germany ffahrmairjsalzmannjschoenmag@in.tum.de

More information

Simulation Techniques Using Geant4

Simulation Techniques Using Geant4 IEEE Nuclear Science Symposium and Medical Imaging Conference Short Course Simulation Techniques Using Geant4 Maria Grazia Pia (INFN Genova, Italy) MariaGrazia.Pia@ge.infn.it Dresden, 18 October 2008 http://www.ge.infn.it/geant4/events/nss2008/geant4course.html

More information

TECHNICAL RESEARCH REPORT

TECHNICAL RESEARCH REPORT TECHNICAL RESEARCH REPORT A Simulation Study of Enhanced TCP/IP Gateways for Broadband Internet over Satellite by Manish Karir, Mingyan Liu, Bradley Barrett, John S. Baras CSHCN T.R. 99-34 (ISR T.R. 99-66)

More information

On-Line Applications Research Corporation TEXinfo COPYRIGHT cæ On-Line Applications Research Corporation èoarè. The authors have us

On-Line Applications Research Corporation TEXinfo COPYRIGHT cæ On-Line Applications Research Corporation èoarè. The authors have us RTEMS Development Environment Guide Edition 4.0.0, for RTEMS 4.0.0 October 1998 On-Line Applications Research Corporation On-Line Applications Research Corporation TEXinfo 1.1.1.1 COPYRIGHT cæ 1988-1998.

More information

C, ACE C++, Blob Streaming, and Orbix over ATM

C, ACE C++, Blob Streaming, and Orbix over ATM The Performance of Object-Oriented Components for High-speed Network Programming Douglas C. Schmidt schmidt@cs.wustl.edu Washington University, St. Louis Introduction æ Distributed object computing èdocè

More information

(Graphical) User Interface 1

(Graphical) User Interface 1 JUNO GEANT4 SCHOOL Beijing ( 北京 ) 15-19 May 2017 (Graphical) User Interface 1 Geant4 tutorial 3 ways of controlling the simulation 1) hard-coded application no user interaction everything specified in

More information

Qt + Maemo development

Qt + Maemo development ES3 Lecture 11 Qt + Maemo development Maemo Nokia's Linux based platform Almost entirely open source Nokia N770, N800, N810, N900 only models Only N900 has 3G/phone capability N900 has relatively fast

More information

Software Installation, release 5.2

Software Installation, release 5.2 Software Installation, release 5.2 http://cern.ch/geant4 The full set of lecture notes of this Geant4 Course is available at http://www.ge.infn.it/geant4/events/nss2003/geant4course.html Outline Supported

More information

Visualisation and (G)UI.

Visualisation and (G)UI. Visualisation and (G)UI http://geant4.cern.ch PART I Geant4 visualisation 1. Introduction Geant4 Visualisation must respond to varieties of user requirements Quick response to survey successive events

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

Geant4 Visualization Status

Geant4 Visualization Status HepRep/WIRED So many options, it needs two title pages DAWN OpenGL 1 OpenInventor RayTracer DAWN HepRep/FRED 2 Status of the Visualization Drivers Seven Visualization Drivers OpenGL OpenInventor HepRep/WIRED

More information

A Scripting Language for Multimodal Presentation on Mobile Phones

A Scripting Language for Multimodal Presentation on Mobile Phones A Scripting Language for Multimodal Presentation on Mobile Phones Santi Saeyor 1, Suman Mukherjee 2, Koki Uchiyama 2, Ishizuka Mitsuru 1 1 Dept. of Information and Communication Engineering, University

More information

GraXML. Modular Geometric Modeler History Architecture. Data Sources Applications. Generic Model Geometric Model Core

GraXML. Modular Geometric Modeler History Architecture. Data Sources Applications. Generic Model Geometric Model Core GraXML Modular Geometric Modeler History Architecture Generic Model Geometric Model Core Data Sources Applications J.Hrivnac (LAL/Orsay) for CHEP'03 in La Jolla, Mar'03 History (1) Originally just 3D Detector

More information

GUI framework communication via the WWW

GUI framework communication via the WWW GUI framework communication via the WWW Thomas Tilley, School of Information Technology, Griffith University, Australia 4215, T.Tilley@gu.edu.au Peter Eklund, School of Information Technology, Griffith

More information

INSPECTOR, A ZERO CODE IDE FOR CONTROL SYSTEMS USER INTERFACE DEVELOPMENT

INSPECTOR, A ZERO CODE IDE FOR CONTROL SYSTEMS USER INTERFACE DEVELOPMENT INSPECTOR, A ZERO CODE IDE FOR CONTROL SYSTEMS USER INTERFACE DEVELOPMENT V. Costa, B. Lefort CERN, European Organization for Nuclear Research, Geneva, Switzerland Abstract Developing operational User

More information

Visualization in GEANT4. 1 Introduction. 2 User Requirements. University of Manchester, UK. John Allison

Visualization in GEANT4. 1 Introduction. 2 User Requirements. University of Manchester, UK. John Allison Visualization in GEANT4 John Allison Abstract University of Manchester, UK The Visualization System of GEANT4 is an interface between the simulation kernel and the graphics system. In itself it defines

More information

Visualisation, (G)UI and Analysis

Visualisation, (G)UI and Analysis Visualisation, (G)UI and Analysis http://cern.ch/geant4 The full set of lecture notes of this Geant4 Course is available at http://www.ge.infn.it/geant4/events/nss2003/geant4course.html Contents (1) Part

More information

Abstract. This paper describes the implementation of PVM in the new WIN32-bit world. There are

Abstract. This paper describes the implementation of PVM in the new WIN32-bit world. There are Another Architecture: PVM on Windows 95èNT Markus Fischer æy Jack Dongarra æ z October 4, 1996 Abstract This paper describes the implementation of PVM in the new WIN32-bit world. There are no restrictions

More information

Collaborative Data Collection with BLU-ICE

Collaborative Data Collection with BLU-ICE Structural Molecular Biology Software Development Workshop September 18 th, 2000 Collaborative Data Collection with BLU-ICE Timothy McPhillips Stanford Synchrotron Radiation Laboratory Overview Architecture

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

CS 4300 Computer Graphics

CS 4300 Computer Graphics CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller

More information

Swing Based Remote GUI Emulation

Swing Based Remote GUI Emulation Swing Based Remote GUI Emulation Thomas Tilley and Peter Eklund School of Information Technology, Griffith University, Australia 4215 {T.Tilley,P.Eklund}@gu.edu.au This paper describes the implementation

More information

Simulation Techniques Using Geant4

Simulation Techniques Using Geant4 IEEE Nuclear Science Symposium and Medical Imaging Conference Short Course Simulation Techniques Using Geant4 Maria Grazia Pia (INFN Genova, Italy) MariaGrazia.Pia@ge.infn.it Dresden, 18 October 2008 http://www.ge.infn.it/geant4/events/nss2008/geant4course.html

More information

o(k) = F( ^,..., ^ Input Seq 1 I (k) 1 F( ) O(k) Output Seq R N Input Seq N I (k) N

o(k) = F( ^,..., ^ Input Seq 1 I (k) 1 F( ) O(k) Output Seq R N Input Seq N I (k) N A Model-Integrated Program Synthesis Environment for ParallelèReal-Time Image Processing Michael S. Moore a, Janos Sztipanovitz a, Gabor Karsai a,&jim Nichols a a Vanderbilt University Measurement and

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

A Model-Controller Interface for Struts-Based Web Applications

A Model-Controller Interface for Struts-Based Web Applications A Model-Controller Interface for Struts-Based Web Applications A Writing Project Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements

More information

Part 3 Mandatory user classes

Part 3 Mandatory user classes Part 3 Mandatory user classes The main program Geant4 does not provide the main(). In your main(), you have to Construct G4RunManager (or your derived class) Set user mandatory classes to RunManager G4VUserDetectorConstruction

More information

Geant4 application in a Web browser

Geant4 application in a Web browser Journal of Physics: Conference Series OPEN ACCESS Geant4 application in a Web browser To cite this article: Laurent Garnier and the Geant4 Collaboration 2014 J. Phys.: Conf. Ser. 513 062016 View the article

More information

8 Novembre How to install

8 Novembre How to install Utilizzo del toolkit di simulazione Geant4 Laboratori Nazionali del Gran Sasso 8 Novembre 2010 2010 How to install Outline Supported platforms & compilers External software packages and tools Working area

More information

HCIM SUMMER WORKSHOP Introduction to C#

HCIM SUMMER WORKSHOP Introduction to C# HCIM SUMMER WORKSHOP Introduction to C# .NET.NET is: Microsoft s Platform for Windows Development CLR (Common Language Runtime) the Virtual Machine that runs MSIL (Microsoft Intermediate Language Code)

More information

Tcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming

Tcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming Tcl/Tk lecture CIS 410/510 User Interface Programming Tool Command Language TCL Scripting language for developing & using GUIs Allows generic programming variables, loops, procedures Embeddable into an

More information

Appendix: How to get OBST / tclobst. References

Appendix: How to get OBST / tclobst. References development effort for applications and by opening the way to functionality already available as Tcl extensions, most notably Tk and related s. With tcl the full power of is provided for convenient and

More information

Introduction to Geant4 II

Introduction to Geant4 II Introduction to Geant4 II User Interface Examples User Support Geant4 Seminar Koichi Murakami (KEK/CRC) 1 Overall structure UI terminal Batch mode Python interface Momo USER INTERFACE 2 Geant4 (User) Interface

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

RenderMonkey 1.6. Natalya Tatarchuk ATI Research

RenderMonkey 1.6. Natalya Tatarchuk ATI Research RenderMonkey 1.6 Natalya Tatarchuk ATI Research Game Developer Conference, San Francisco, CA, March 2005 Overview > What is RenderMonkey? > What s New In RenderMonkey 1.6? 2 What is RenderMonkey? > Shader

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Grid Infrastructure Monitoring Service Framework Jiro/JMX Based Implementation

Grid Infrastructure Monitoring Service Framework Jiro/JMX Based Implementation URL: http://www.elsevier.nl/locate/entcs/volume82.html 12 pages Grid Infrastructure Monitoring Service Framework Jiro/JMX Based Implementation Bartosz Lawniczek, Grzegorz Majka, Pawe l S lowikowski, Krzysztof

More information

1 Introduction Because application needs vary greatly, a general system service is never ideal for all applications. An extensible system oæers increa

1 Introduction Because application needs vary greatly, a general system service is never ideal for all applications. An extensible system oæers increa Mona: an Adaptive, Multiple Level Extensible File System H. Richard Kendall Paul W. Schermerhorn Vincent W. Freeh Peter W. Rijks Department of Computer Science and Engineering University of Notre Dame

More information

Advanced Object-Oriented Programming Introduction to OOP and Java

Advanced Object-Oriented Programming Introduction to OOP and Java Advanced Object-Oriented Programming Introduction to OOP and Java Dr. Kulwadee Somboonviwat International College, KMITL kskulwad@kmitl.ac.th Course Objectives Solidify object-oriented programming skills

More information

INTRODUCING Qt The Cross-Platform C++ Development Framework. Presented by Cody Bittle

INTRODUCING Qt The Cross-Platform C++ Development Framework. Presented by Cody Bittle INTRODUCING Qt The Cross-Platform C++ Development Framework Presented by Cody Bittle OVERVIEW 1. About Trolltech 2. Introducing Qt 3. Why Qt? Section One ABOUT TROLLTECH About Trolltech COMPANY INFORMATION

More information

Widget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down

Widget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down Widgets Jeff Avery Widget Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down menus, spinners, file dialog boxes, etc are

More information

Undergraduate projects, technical papers and articles done by Mr. Sumant U. Tambe PROJECTS. 1. Node Listing Based Global Data Flow Analysis

Undergraduate projects, technical papers and articles done by Mr. Sumant U. Tambe PROJECTS. 1. Node Listing Based Global Data Flow Analysis PROJECTS 1. Node Listing Based Global Data Flow Analysis This is my final year BE (Bachelor of Engineering) project under Asst. Prof. Uday Khedker of I.I.T., Bombay. The final goal of the research work

More information

formulation Model Real world data interpretation results Explanations

formulation Model Real world data interpretation results Explanations Mathematical Modeling Lecture Notes David C. Dobson January 7, 2003 1 Mathematical Modeling 2 1 Introduction to modeling Roughly deæned, mathematical modeling is the process of constructing mathematical

More information

Using CORBA Middleware in Finite Element Software

Using CORBA Middleware in Finite Element Software Using CORBA Middleware in Finite Element Software J. Lindemann, O. Dahlblom and G. Sandberg Division of Structural Mechanics, Lund University strucmech@byggmek.lth.se Abstract. Distributed middleware technologies,

More information

2.1 Components of the toolkit

2.1 Components of the toolkit Cluster-Based Computing with Active, Persistent Objects on the Web Frank Sommers Autospaces, L.L.C. 5118 Village Green Los Angeles, CA 90016, USA fsommers@autospaces.com Shahram Ghandeharizadeh and Shan

More information

... Linear array. Tree. Near-neighbor mesh. Systolic array. Ring

... Linear array. Tree. Near-neighbor mesh. Systolic array. Ring Computer Networks Architecture and Protocols Contents Supplementary Class Notes Operating System CS 43201 CS 53201... 1 Network Standardization... 8... 10 Network Protocols... 14... 17 æ A set of nodes

More information

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system Introducing Interactive Systems Design and Evaluation: Usability and Users First Ahmed Seffah Human-Centered Software Engineering Group Department of Computer Science and Software Engineering Concordia

More information

CS350 : Operating Systems. General Assignment Information

CS350 : Operating Systems. General Assignment Information CS350 : Operating Systems General Assignment Information 1 Introduction Assignments in CS350 are based on OS/161 (os161) running on System/161 (sys161). System/161 is a workstation simulation, and OS/161

More information

Simulator. Chapter 4 Tutorial: The SDL

Simulator. Chapter 4 Tutorial: The SDL 4 Tutorial: The SDL Simulator The SDL Simulator is the tool that you use for testing the behavior of your SDL systems. In this tutorial, you will practice hands-on on the DemonGame system. To be properly

More information

Editors æ. Michael Knister and Atul Prakash. Software Systems Research Laboratory. Department of EECS. April 2, Abstract

Editors æ. Michael Knister and Atul Prakash. Software Systems Research Laboratory. Department of EECS. April 2, Abstract Issues in the Design of a Toolkit for Supporting Multiple Group Editors æ Michael Knister and Atul Prakash Software Systems Research Laboratory Department of EECS U. of Michigan, Ann Arbor, MI 48109 April

More information

A Model for Real-Time Control of Industrial Robots

A Model for Real-Time Control of Industrial Robots A Model for Real-Time Control of Industrial Robots Fereshteh Shahmiri a and b Jeremy Ficca a School of Architecture, Georgia Institute of Technology, USA b School of Architecture, Carnegie Mellon University,

More information

Principles of Computer Game Design and Implementation. Lecture 3

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

More information

Lesson 5: Software for embedding in System- Part 2

Lesson 5: Software for embedding in System- Part 2 Lesson 5: Software for embedding in System- Part 2 Device drivers, Device manager, OS, RTOS and Software tools 1 Outline Device drivers Device manager Multitasking using an operating system (OS) and Real

More information

An Application Developers Guide Proposal and Feedback Session. Phil Holmes. How to with CDSA

An Application Developers Guide Proposal and Feedback Session. Phil Holmes. How to with CDSA 1 "How-to" with CDSA An Application Developers Guide Proposal and Feedback Session Phil Holmes How to with CSDA - Agenda 2 Overall Objectives The conventional approach Collaboration - How to Book & CD-ROM

More information

eclipse rich ajax platform (rap)

eclipse rich ajax platform (rap) eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background

More information

Geant4 v9.5. Kernel III. Makoto Asai (SLAC) Geant4 Tutorial Course

Geant4 v9.5. Kernel III. Makoto Asai (SLAC) Geant4 Tutorial Course Geant4 v9.5 Kernel III Makoto Asai (SLAC) Geant4 Tutorial Course Contents Fast simulation (Shower parameterization) Multi-threading Computing performance Kernel III - M.Asai (SLAC) 2 Fast simulation (shower

More information

JavaStat: A Distributed Statistical Computing Environment

JavaStat: A Distributed Statistical Computing Environment 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

Chapter 2 Operating-System Structures

Chapter 2 Operating-System Structures This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6

More information

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts *

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Sven Buchholz, Thomas Ziegert and Alexander Schill Department of Computer Science Dresden University of Technology

More information

where are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures

where are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures where are we? ICS 105: Project in HCI UI Toolkits and Programming Models lectures done with evaluation techniques a couple of lectures on toolkits and programming other topics: graphical design and screen

More information

Linux Fundamentals (L-120)

Linux Fundamentals (L-120) Linux Fundamentals (L-120) Modality: Virtual Classroom Duration: 5 Days SUBSCRIPTION: Master, Master Plus About this course: This is a challenging course that focuses on the fundamental tools and concepts

More information

Programming ArchiTech

Programming ArchiTech Programming ArchiTech The intention of this document is to give a description of the way ArchiTech has been programmed, in order to make anyone who wants to take a look to the code easier to understand

More information

A Graphical Editor for LOA

A Graphical Editor for LOA A Graphical Editor for LOA Rich Graphical Components Design and Integration Olivier Beaudoux Mickael Clavreul ESEO Group 2012-2013 2 The LOA Project LOA: Langage pour Opérations Actives (Language for Active

More information

The QBIC system ë8ë allows queries to be performed on shape, texture, color, both by example and by sketch using as target media images and video shot

The QBIC system ë8ë allows queries to be performed on shape, texture, color, both by example and by sketch using as target media images and video shot Multiple Features Indexing in Image Retrieval Systems Augusto Celentano, Stefano Sabbadin Universitça Ca' Foscari di Venezia, Dipartimento di Informatica Via Torino 155, 30172 Mestre èveè, Italia auce@unive.it,ssabbadi@dsi.unive.it

More information

ODMG 2.0: A Standard for Object Storage

ODMG 2.0: A Standard for Object Storage Page 1 of 5 ODMG 2.0: A Standard for Object Storage ODMG 2.0 builds on database, object and programming language standards to give developers portability and ease of use by Doug Barry Component Strategies

More information

The General Variables Concept: A Simple Step from Single- to Multi-user Environment

The General Variables Concept: A Simple Step from Single- to Multi-user Environment The General Variables Concept: A Simple Step from Single- to Multi-user Environment Michal Masa, Jiri Zara Department of Computer Science and Engineering, Czech Technical University in Prague {xmasam,

More information

ITP 342 Mobile App Development. Model View Controller

ITP 342 Mobile App Development. Model View Controller ITP 342 Mobile App Development Model View Controller Model-View-Controller The Model-View-Controller (MVC) design pattern assigns objects in an application one of three roles: model, view, or controller.

More information

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 FEATURES AND FACILITIES SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: JDeveloper features. Java in the database. Simplified database access. IDE: Integrated Development

More information

Amy Shih-Chun Hsu. Master's Project. under the direction of Carlo H. Sçequin. Computer Science Division. University of California, Berkeley

Amy Shih-Chun Hsu. Master's Project. under the direction of Carlo H. Sçequin. Computer Science Division. University of California, Berkeley Symbolic Layout Evaluator for Floor Plans my Shih-Chun Hsu Master's Project under the direction of Carlo H. Sçequin Computer Science Division Department of Electrical Engineering and Computer Science University

More information

color tree. object list ray tree

color tree. object list ray tree Hierarchical View-dependent Structures for Interactive Scene Manipulation Normand Briçere and Pierre Poulin Dçepartement d'informatique et de Recherche Opçerationnelle æ Universitçe de Montrçeal Abstract

More information

Alternate assemblies

Alternate assemblies Alternate assemblies Publication Number spse01685 Alternate assemblies Publication Number spse01685 Proprietary and restricted rights notice This software and related documentation are proprietary to

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

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

More information

SDN controller: Intent-based Northbound Interface realization for extended applications

SDN controller: Intent-based Northbound Interface realization for extended applications SDN controller: Intent-based Northbound Interface realization for extended applications 1. Introduction 2. SDN Controller 3. Intent-based Northbound Interface (NBI) 4. The Intent framework in ONOS controller

More information

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c

process variable x,y,a,b,c: integer begin x := b; -- d2 -- while (x < c) loop end loop; end process; d: a := b + c ControlData-æow Analysis for VHDL Semantic Extraction æ Yee-Wing Hsieh Steven P. Levitan Department of Electrical Engineering University of Pittsburgh Abstract Model abstraction reduces the number of states

More information

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214 Theorem proving PVS theorem prover Abhik Roychoudhury National University of Singapore Both specification and implementation can be formalized in a suitable logic. Proof rules for proving statements in

More information

Client Server Client. Chassis. Chassis. Problem. Work. Work. Work Engine. Work Advocate. Work. Work Engine. Work EngineGUI. Manager. Advocate.

Client Server Client. Chassis. Chassis. Problem. Work. Work. Work Engine. Work Advocate. Work. Work Engine. Work EngineGUI. Manager. Advocate. Towards Bayanihan: Building an Extensible Framework for Volunteer Computing Using Java Luis F. G. Sarmenta, 1 Satoshi Hirano, 2 and Stephen A. Ward 1 1 MIT Laboratory for Computer Science Cambridge, MA

More information

IBM Software Configuration Library Manager Advanced Edition for z/os, Version 1.2

IBM Software Configuration Library Manager Advanced Edition for z/os, Version 1.2 Streamlining z/os application development processes and package approvals IBM Software Configuration Library Manager Advanced Edition for z/os, Version 1.2 Highlights Provides a cost-effective and fully

More information

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates

More information

Maarten R. van Steen 1;2. Teus Vogel 2. Abstract

Maarten R. van Steen 1;2. Teus Vogel 2. Abstract ADL: A Graphical Design Language for Real-time Parallel Applications Maarten R. van Steen 1;2 Teus Vogel 2 Armand ten Dam 2 1 Erasmus University Rotterdam Department of Computer Science POB 1738, 3000

More information

Web Applications: A Simple Pluggable Architecture for Business Rich Clients

Web Applications: A Simple Pluggable Architecture for Business Rich Clients Web Applications: A Simple Pluggable Architecture for Business Rich Clients Duncan Mac-Vicar and Jaime Navón Computer Science Department, Pontificia Universidad Católica de Chile {duncan,jnavon}@ing.puc.cl

More information

CSC209 Review. Yeah! We made it!

CSC209 Review. Yeah! We made it! CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Why OS? 2 What is an OS? Software that converts hardware into

More information

Browsing in the tsimmis System æ. Stanford University. Tel.: è415è Fax: è415è

Browsing in the tsimmis System æ. Stanford University. Tel.: è415è Fax: è415è Information Translation, Mediation, and Mosaic-Based Browsing in the tsimmis System æ SIGMOD Demo Proposal èænal versionè Joachim Hammer, Hector Garcia-Molina, Kelly Ireland, Yannis Papakonstantinou, Jeærey

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Introduction to Geant4 Visualization Geant4 v10.0.p3

Introduction to Geant4 Visualization Geant4 v10.0.p3 Geant4 v10.0.p3 HepRep/HepRApp Makoto Asai (SLAC) Slides created by Joseph Perl (SLAC) So many options, it needs three title pages DAWN OpenGL 1 RayTracer OpenInventor DAWN HepRep/FRED 2 Qt gmocren DAWN

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Linking knowledge based engineering techniques to the finite element analysis of structures Martyn Pinfold, Craig Chapman Advanced Technology Centre, Warwick Manufacturing Group, University of Warwick,

More information

Infor Education. Mongoose Workshop. Infor Education. Mongoose Workshop. Class 5: Introduction to Mongoose. (Use this guide for this course.

Infor Education. Mongoose Workshop. Infor Education. Mongoose Workshop. Class 5: Introduction to Mongoose. (Use this guide for this course. Infor Education Class 5: Introduction to Mongoose Student Guide (Use this guide for this course.) Student Guide Introduction to Mongoose Page: 1 of 35 Welcome to the Infor Education. You have been provided

More information

J2EE Technologies. Industrial Training

J2EE Technologies. Industrial Training COURSE SYLLABUS J2EE Technologies Industrial Training (4 MONTHS) PH : 0481 2411122, 09495112288 Marette Tower E-Mail : info@faithinfosys.com Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01 www.faithinfosys.com

More information

Customisation and Automation using the LUSAS Programmable Interface (LPI)

Customisation and Automation using the LUSAS Programmable Interface (LPI) Customisation and Automation using the LUSAS Programmable Interface (LPI) LUSAS Programmable Interface The LUSAS Programmable Interface (LPI) allows the customisation and automation of modelling and results

More information

simply by implementing large parts of the system functionality in software running on application-speciæc instruction set processor èasipè cores. To s

simply by implementing large parts of the system functionality in software running on application-speciæc instruction set processor èasipè cores. To s SYSTEM MODELING AND IMPLEMENTATION OF A GENERIC VIDEO CODEC Jong-il Kim and Brian L. Evans æ Department of Electrical and Computer Engineering, The University of Texas at Austin Austin, TX 78712-1084 fjikim,bevansg@ece.utexas.edu

More information

task type nodes is entry initialize èwith mailbox: access to mailboxes; with state: in statesè; entry ænalize èstate: out statesè; end nodes; task bod

task type nodes is entry initialize èwith mailbox: access to mailboxes; with state: in statesè; entry ænalize èstate: out statesè; end nodes; task bod Redistribution in Distributed Ada April 16, 1999 Abstract In this paper we will provide a model using Ada and the Distributed Annex for relocating concurrent objects in a distributed dataæow application.

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Felix Meyenhofer Technology Development Studio 3. March 2011 4th KNIME Users Group Meeting and Workshop

More information

Design and implement a program to solve a real-world problem using the language idioms, data structures,, and standard library.

Design and implement a program to solve a real-world problem using the language idioms, data structures,, and standard library. Course Outcome Second Year of B.Sc. IT Program Semester I Course Number: USIT301 Course Name: Python Programming Understanding basic fundamentals of programming using Python. Recognize and construct common

More information

A Report on RMI and RPC Submitted by Sudharshan Reddy B

A Report on RMI and RPC Submitted by Sudharshan Reddy B A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in

More information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files ... and systems programming C basic syntax functions arrays structs

More information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs. CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files... and systems programming C basic syntax functions arrays structs

More information

CS350 : Operating Systems. General Assignment Information

CS350 : Operating Systems. General Assignment Information CS350 : Operating Systems General Assignment Information 1 Introduction Assignments in CS350 are based on NachOS. NachOS is a workstation simulation, along with a simple operating system for the simulated

More information