1 Persistency in G4MICE 27 th July 2005 M. Ellis.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Data Structures Static and Dynamic.
Basic Computer Fundamentals Lecture4 Prepared by Jalal
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
IT253: Computer Organization Lecture 6: Assembly Language and MIPS: Programming Tonga Institute of Higher Education.
Linkage Editors Difference between a linkage editor and a linking loader: Linking loader performs all linking and relocation operations, including automatic.
Module 4.2 File management 1. Contents Introduction The file manager Files – the basic unit of storage The need to organise Glossary 2.
1Malcolm Ellis - Tracker Meeting - 18th May 2006 Reconstruction Plans  Staged process of building up Reconstruction over the rest of this year  Will.
1 Lecture-2 CSIT-120 Spring 2001 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
ASP Tutorial. What is ASP? ASP (Active Server Pages) is a Microsoft technology that enables you to make dynamic and interactive web pages. –ASP usually.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Chapter 8 I/O. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 8-2 I/O: Connecting to Outside World So far,
1Malcolm Ellis - Software Meeting - 31st May 2006 Data Challenge Requirements  First list of requirements, based on Yagmur’s document: u
Lecture 2: Do you speak Java?. From Problem to Program Last Lecture we looked at modeling with objects! Steps to solving a business problem –Investigate.
Chapter 8: I/O Streams and Data Files. In this chapter, you will learn about: – I/O file stream objects and functions – Reading and writing character-based.
Systems Software Operating Systems.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
Bits and Bytes in a computers memory Inside the computer are millions of electronic switches. These are grouped together in bundles of 8. A switch can.
Systems Software & Operating systems
Data Representation and Storage Lecture 5. Representations A number value can be represented in many ways: 5 Five V IIIII Cinq Hold up my hand.
1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
File Systems (1). Readings r Reading: Disks, disk scheduling (3.7 of textbook; “How Stuff Works”) r Reading: File System Implementation ( of textbook)
1 Persistency – Update and Plans Malcolm Ellis Software Phone Meeting 25 th August 2005.
Lecture Note 1: Getting Started With ASP.  Introduction to ASP  Introduction to ASP An ASP file can contain text, HTML tags and scripts. Scripts in.
Capabilities of Software. Object Linking & Embedding (OLE) OLE allows information to be shared between different programs For example, a spreadsheet created.
1 Software for the KEK test Malcolm Ellis 13 th April 2005.
CSC 110 – Intro to Computing Lecture 9: Computing Components.
General Purpose Packages DATA TYPES. Data Types Computer store information in the form of data. Information has meaning. Eg 23 May 2005 Data has no meaning.
Chapter One An Introduction to Programming and Visual Basic.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Online Reconstruction 1M.Ellis - CM th October 2008.
3A.List and describe the events that take place during the boot process. POWER SUPPLY THE POWER SUPPLY SENDS A SIGNAL TO THE COMPENENTS IN THE SYSTEM UNIT.
C++ / G4MICE Course Session 1 - Introduction Edit text files in a UNIX environment. Use the g++ compiler to compile a single C++ file. Understand the C++
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
1Malcolm Ellis - Software Meeting - 12th July 2006 Data Challenge Tasks  A set of web pages has been started to follow our progress and document the work:
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
1 MICE Software Phone Conference Introduction 27 th July 2005 M. Ellis.
1 Software Workshop Report Malcolm Ellis MICE Video Conference Wednesday 9 th November 2005.
1 Tracker Software Status M. Ellis MICE Collaboration Meeting 27 th June 2005.
Technology Vocabulary Matthew L. Morris. A-D Application- A program or group of programs designed for end users. Data- Distinct pieces of information.
Computer Science 210 Computer Organization
GCSE COMPUTER SCIENCE Computers 1.2 Memory, Storage and Binary.
Chapter 6 Persistence-Saving and Retrieving Data
Chapter 8 I/O.
Implementation Process
Progress on NA61/NA49 software virtualisation Dag Toppe Larsen Wrocław
Character coding schemes
Operating Systems (CS 340 D)
CHU HAI COLLEGE OF HIGHER EDUCATION DEPARTMENT OF COMPUTER SCIENCE Preparation of Mid-Term Progress Report Bachelor of Science in Computer Science.
System Programming and administration
Models vs Representations
Computer Science 210 Computer Organization
Chapter 8 I/O.
Operating Systems (CS 340 D)
Chapter 8 I/O.
O.S Lecture 13 Virtual Memory.
Computer Programming Machine and Assembly.
Machine Independent Features
1. Explain how ASCII is used to represent text in a computer system
“It matters that you don’t just give up”
BIC 10503: COMPUTER ARCHITECTURE
File Handling.
Learning Intention I will learn how computers store text.
Loaders and Linkers.
Iteration Planning.
1.3.7 High- and low-level languages and their translators
Overview of Computer system
Presentation transcript:

1 Persistency in G4MICE 27 th July 2005 M. Ellis

2 What do I mean? We do all the work in G4MICE through C++ classes that exist in the computer’s memory only while the program is running. These are “transient” objects as they come into existence for a brief period of time and then disappear for ever. “Persistent” objects exist over a much longer time scale (for ever, in terms of the time-scale of the experiment). Persistency schemes allow us to make a transient object persistent by storing it in some manner (e.g. text file, database, CD ROM, etc...)

3 Advantages No longer think in terms of “Rec.out”, “Sim.out”, etc... Instead, think in terms of the actual classes (SciFiHit, SciFiTrack, etc...) So, an executable can restore some classes from persistent storage into memory. It then performs some operations, which may result in the creation of new objects. Some, or all of these objects can then be made persistent for later use.

4 HARP Model I would like us to try a model that was developed for use in HARP, that allows a quick way of making C++ classes persistent and which does not impose strong limitations on the design of the class. For a first version, we will stick to a plain ASCII text format. Classes that can be found in the “MiceEvent” will be made persistent. Reminder: please check the classes that you use that you would like to be made persistent, so that we can ensure they are in the MiceEvent!

5 Scheme For every transient class, and for each method of storing the class, a converter class is written. The converter class knows about the transient class and the storage means (e.g. text file). The transient class remains ignorant of how it is being made persistent, and so can be made persistent by many different methods without needing to change the code or add dependencies to the storage (e.g. database).

6 Dependency Diagram Transient Class Storage Method Converter Class

7 Proposed Schedule Yagmur and I will ensure that the applications area is ready for use. I will then start by coding the framework code needed to supply a store and restore functionality and implement one or two classes to check that it works. Lara and I will then continue until a decent number of classes are persistent and we do some tests for any obvious problems. We can then pass on the coding task to everyone who is willing to help out!