[PDF] [PDF] Object-oriented approach to software development for LHC

oping the code for LHC experiments The authors of this proposal will learn the key We propose to study the viability of the Object Oriented (OO) approach for 



Previous PDF Next PDF





An Object-Oriented Approach to Classification - CORE

An Object-Oriented Approach to Classification Amedeo Napoli LMIAS, Institute Le Bel, Universite Louis Pasteur, 67000 Strasbourg, France Roland Ducournau



An Object-Oriented Approach to an Agile Manufacturing Control

Originating in the computer science community, object- oriented analysis and design methods are considered as an approach to enable a single tool to support a 



[PDF] Object-oriented approach to software development for LHC

oping the code for LHC experiments The authors of this proposal will learn the key We propose to study the viability of the Object Oriented (OO) approach for 



[PDF] OBJECT-ORIENTED ANALYSIS AND DESIGN Object-oriented

Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects Each object represents 



[PDF] An object oriented approach to the description and - i-Tree

An object-oriented design (OOD) approach is used to describe watershed scale hydrologic processes Individual objects (or processes) at multiple levels are 



[PDF] An Object Oriented Approach to Web-Based Application Design

In this paper we discuss the use of an object-oriented approach for web-based applications design, based on a method named Object Oriented Hypermedia 



An object-oriented approach to model management - ScienceDirect

In order to apply the object-oriented programming paradigm to Model Management, a model must be inter- preted as a collection of "objects" which perform the 



[PDF] Comparison of Object-Oriented Approaches for Roles in

Another approach is Object-Oriented Role Analysis and Modelling (Andersen 1997) In an OOram role model, patterns of interacting objects are abstracted into a 

[PDF] object oriented design patterns

[PDF] object oriented javascript pdf

[PDF] object oriented javascript tutorial point

[PDF] object oriented php junade ali pdf

[PDF] object oriented php peter lavin

[PDF] object oriented programming in javascript with examples pdf

[PDF] object oriented programming paradigm

[PDF] object oriented programming with abap objects

[PDF] object oriented programming with abap objects pdf

[PDF] objective c o'reilly pdf

[PDF] objective of education for all

[PDF] objective of water pollution project pdf

[PDF] objective proficiency 2nd edition pdf download

[PDF] objective proficiency student's book pdf download

[PDF] objective proficiency student's book pdf free download

spokesperson coutactperson Utrecht University, Utrecht, The Netherlands OCR Output

C. Balke, W. Lourens

International Christian University, Tokyo, Japan

Y. Nakagawa., T. Yamagata.

SSC Laboratory, Dallas, Texas, USA

H. Johnstaid

SEFT, Research Institute for HEP, Helsinki, Finland

J. Klem

DAPNIA-SEI Saclay, Gif-sur- Yvette, France

T. Hansl - K0za.necka

Rutherford Appleton Laboratory, UK

R. W. Clifft, S. M. Fisher

NIKHEF, Amsterdam, The Netherlands

K. Bos.2, W. Heubers, E. Wassenaar, R. Wilhelm

LAL, Univ. de Paris-Sud, Orsay, France

C. Arnault, G. Barrand, A. Schaffer

Institute of Nuclear Physics, Krakow, Poland

A. Sobala

KEK, Japan

K. Amako, J. Kanzaki, T. Sasaki, Y. Takaiwa

University of Edinburgh, UK

D. J. Candlin

CERN, Geneva, Switzerland

C. Onionsl, M. Pimia, A. Poppleton, J. P. Porte, G. Poulard, S. Qian F. Bruyant, M. Dodgson, V. Irmocente, W. Jank, V. Karimaki,

University of Birmingham, UK

S. O'Nea1e

gt. -3 I Experiments . 7* ' "Software Development for LHC Object Or1e11ted Approach to

March 2, 1994__ , tj le, @$7,

DRDC/P55SC00000225

IEIIII It....1./ DRDC /9..l\\\\\\\\\\\l\\\l\\l\\l\\\l\\\lllll\\\l

CERN LIBRARIES, GENEVA

will be tried and professional training will be organized. OCR Output enhances a different, and hopefully better, project management. Management tools of this R&D project. We propose to also study in this project how the OO approach have been defined in a preceding study and some of which will be defined in the course These studies will be carried out with various well - defined prototypes, some of which Aided Software Engineering tools and implementation languages will be evaluated. ied to select the most appropriate for the High Energy Physics case. Some Computer issues of this approach: OO analysis and design. Several methodologies will be stud oping the code for LHC experiments. The authors of this proposal will learn the key We propose to study the viability of the Object Oriented (OO) approach for devel

11 OCR OutputGlossary of acronyms

10Budget and Manpower

Industrial Participation

........5.7 Milestones

5.6 Prototype management

.........55 Teamwork

5.4 Desktop conferencing . .

5.3 Consultancy .......

..........52 Training

5.1 Scheme of meetings and workshops

Project Management

Pilot projects

3.4 Evaluation of languages ......

3.3 Evaluation of tools .........

3.2 Evaluation of methodologies ....

3.1 Evaluation of the overall approach

Criteria for evaluation

2.5The Object Management Group .

» ..............2.4I/ O schemes

2.3.3 Other languages of potential interest

..................232 C++ ................2.3.1 Eiffel

2.3Implementation languages ........

2.2CASE tools ................

2.1.4 The Fusion Method .......

2.1.3 The OO - AD methodology ....

2.1.2 The Class Relation methodology

2.1.1 The OMT methodology .....

2.1Methodologies for analysis and design .

Areas of research

...............133 ECP / PT ...............132 CN /ASD ...............1.3.1 RD13

1.3 Relation to other groups .........

1.2 Content of the proposal .........

................1.1 Introduction

Scope of the proposal

Contents

developments with other software components. This project will result in an evaluation of OCR Output OMG will be studied and employed where appropriate to allow the compatibility of our will vary in scope and evolve with time. Those standards arising from the efforts of the These investigations will be carried out within the context of a few pilot projects, which I/ O and data storage. c OO languages and of interest, c Computer Aided Software Engineering (CASE) tools to support the methodologies o methodologies, possibly with minor extensions and adaptations, software environment. Our programme consists of investigations of: implementation, and how this approach can best be applied to the HEP reconstruction learn and understand the different elements of an OO approach to analysis, design and beyond that depend on our experience at that time. The goal of this proposal is to We present a work programme for two years in the first instance. Possible developments

1.2 Content of the proposal

model can then be used for the production of the final LHC software. graphically separated groups, and to adopt helpful project management techniques. This While doing this work, we also hope to develop a style of working together in geo comparisons, as far as possible, with current practices. to OO methodologies for High Energy Physics (HEP) software. We will make quantitative propose to continue this work and study the benefits and possible disadvantages of moving the application of the OO approach to software development for LHC experiments. We A subgroup from within the ATLAS collaboration has already started to look into which aims to provide standards to allow interoperability of OO systems. the existence of the Object Management Group (OMG), representing some 300 companies, reductions in maintenance effort and cost. The industrial interest in OO is reflected by gains in conciseness of source code, clarity and freedom from errors, with corresponding approach to analysis, design and implementation, and have reported very considerable Recently large industrial software projects have adopted the object oriented (OO) software to achieve large rejection factors. getting the code right the first time as we will only have one chance and will rely upon always possible to redo the reconstruction. At LHC we must be more concerned about LEP experiments have not used complex software as part of the trigger, hence it is in the way that the whole software for an experiment is built. and data acquisition development. We believe that it is now time to also seek improvements challenge of performing such experiments has already stimulated efforts in detector, trigger experiment be designed, built and maintained to the highest engineering standards. The and almost certainly experiment lifetime. It is therefore crucial that all elements of an in detector size and complexity, number of physicists, event size, bunch crossing rate The LHC experiments will be larger and more complex than those at LEP and HERA,

1.1 Introduction

1 Scope of the proposal

areas. OCR Output The OMG is an industrial consortium which is considering standardisation in all these on I/ O technology. concern communication between applications and object persistency, both of which rely The use of OO applications requires management facilities for their objects. This will the code required for implementation in the chosen programming language. to automate this in the context of a chosen methodology. Such tools can generate part of The life cycle is actually an iteration through the different phases and CASE tools help is described using graphical and other higher level languages to represent the abstractions. and design. Specific models are built, showing different views of the desired system which A methodology is the set of methods and tools which supports the process of analysis implementation languages, the 1/ O problem and the infiuence of the OMG in each area. in mind we have chosen to study methodologies and those tools which support them, of OO and later to assess whether or not OO is the right approach for HEP. With this Our work is intended to allow us to make informed choices in each important area the concepts of the problem. of thinking which encompasses all aspects of the life cycle by abstracting, i.e. identifying ments, designing the system, and coding and maintaining it. The OO approach is a way phases of specifying the requirements in a problem statement, analysing those require Software development is conventionally described as following a life cycle which includes

2 Areas of research

continued cooperation. in particular the installation of tools and the provision of training. We look forward to We have benefited from the support offered to us by members of the ECP/PT group,

1.3.3 ECP / PT

include physics analysis tools like PAW in our initial work. discussions and possible collaboration. In the scope of this proposal we do not want to conformant with the OO philosophy. We will follow these developments closely and seek code. We are aware that there is interest within the CN division to try to make GEANT package. In our studies we will initially use data generated by GEANT as input to our The detector simulation for LHC experiments currently relies largely on the GEANT

1.3.2 CN/ASD

make sure that we join efforts on this subject and come to a common solution. RD13 members in our meetings. OO databases are part of the studies in RD13. We will ware, as part of the work of RD13. We have greatly benefited from the participation of A corresponding study is specifically directed towards trigger and data acquisition soft

1.3.1 RD13

1.3 Relation to other groups

with traditional methods. the benefits and drawbacks of using OO technologies for HEP software systems, compared Hewlett Packard company and has been used for the developments of some of their own OCR Output [5] describes a methodology for analysis and design which has been developed by the The book 'Object Oriented Development, The Fusion Method' by Derek Coleman, et al.

2.1.4 The Fusion Method

model of OMT by a model which shows messages between objects. Booch [4], who is one of the pioneers in the OO design world. He replaces the functional This 'Object Oriented Analysis and Design' methodology is described in the book by

2.1.3 The OO-AD methodology

also provides dynamic and functional models. which is a group of classes and allows classes to be hidden inside a schema. 'Objecteering' A and is described in the books by Ph.Desfray The model includes the notion of schema company. The methodology is based on an object model which, like OMT, is ER based The Class Relation methodology is supported by the 'Objecteering' tool from the Softeam

2.1.2 The Class Relation methodology

methodology. days was given at CERN by General Electric, the company which originally developed the OMT is described in the book by James Rumbaugh et al.[2]. A training course of three methods (services offered by objects of a class) which must then be assigned to classes. extra notation, to show scenarios of use of the system under development in order to find functional models, which resemble traditional data How diagrams with a small amount of [1] are used to show the transition from one state to another. OMT advocates a set of describes the behavioural aspects of the individual classes. Nested finite state machines one has to identify the objects in the system and how they are related. The dynamic model structural parts of the system and the relationships between them. To build this model system. The object model (which is similar to the ER model) describes the static or ___ The Object-Oriented Modeling Technique (OMT) [2] uses three models to describe a

2.1.1 The OMT methodology

Fusion method looks very promising as well.

far given most attention to the OMT and 'Class Relation' methodologies. However the them in pilot projects and others by reading the corresponding documents. We have so Below are some of the methodologies which we have studied so far - some by using to identify the ideal methodology or ccombination of methodologies for HEP applications. Trying several of them for the analysis and design of some realistic prototypes will allow us oping quite rapidly. Though similar in some aspects they differ considerably in details. OO methodologies have been developed over the last five years. They are still devel describes only data and not how to process them. was successfully applied in HEP experiments such as ALEPH and ZEUS. The ER model In the eighties the entity relationship (ER) model, which goes some way towards OO, Several analysis and design methods have been published and used with variable success.

2.1 Methodologies for analysis and design

or if a postcondition fails when leaving, an exception is raised. OCR Output tions upon entering and leaving a method. If a precondition fails upon entering a method, Preconditions and postconditions, both integral parts of the language, implement asser parametrized classes, assertions, exception handling and automatic garbage collection. close link between design and implementation. Main features include simple syntax, Eiffel was designed by Bertrand Meyer [6] to follow pure OO principles. It allows a

2.3.1 Eiffel

C++ for its world wide acceptance.

analysis environment. Our main interest so far has been in Eiffel for its elegance and interest not so much for the reconstruction code but rather for the interactive physics The earlier OO languages were normally interpreted. These languages are still of languages to interact. follow the rules laid out by the OMG it should be easy for objects represented by different to be sure that the language chosen can easily be interfaced to other languages. Also if we To be able to make use of existing (FORTRAN) code and other external code we have harder to read and to correlate with the design. profit fully from the possibilities which the OO approach offers and the code would be some of the constructs would then become very complicated. One would be unable to In principle an OO design could be coded in a non-OO programming language, however,

2.3 Implementation languages

justified for the different tools. for those not originally involved in developing it. We will study how much this claim is convenient it is to use. Tools claim to make it easier to understand the design of a system has to be studied to what extent the tool covers the corresponding methodology and how use them for prototype work and evaluate them following the criteria described below. It analysis and design for the code we have to write for the LHC detectors. We intend to One of the goals of this R&D work is to learn how to use those tools effectively for possibly using meta-case technology. some simple prototypes which are described later. We consider also building our own tool We have some experience with a tool supporting OMT and the Objecteering tool on then for the generation of code. They can often be used for the assignment of attributes and methods to the classes and ing the classes and their relationships and have ways to assign names and cardinalities. sophisticated hypertext format. They generally support at least the object model describ Some tools include the problem statement in the simple form of flat text, others in a more The tools provide a graphical user interface to support the life cycle described above.

2.2 CASE tools

methodologies. software projects. This methodology claims to be a 'fusion' of the good concepts of other

OODBMS interface. OCR Output

takes care of inter - application object communication and could be used as the basis of an One OMG standard is CORBA (Common Object Request Broker Architecture) which tions for commercially available object environments} world - wide organisation dedicated to producing a framework and specifica bility, reusability and interoperability of software. The OMG is the leading "The Object Management Group (OMG) is dedicated to maximising the porta statement: The OMG was formed in April 1989. It has now some 300 members and has the mission

2.5 The Object Management Group

data taking. Good commercial solutions to the I/O problem should be available by the time of LHC our work with them. important role in the project. They are also being studied by RD13 and we will coordinate Object Oriented Data Base Management Systems (OODBMS) should also play an solution for the large data volume of LHC. want to build, we must consider the short term solutions without pretending to find the will watch the progress of this work. However, because we need I/ O for the prototypes we There are plans to work on an evolution of the Zebra I/ O system towards OO and we produced at LHC.

1/ O and data storage are difhcult and critical areas as very large volumes of data will be

2.4 I/O schemes

Sather is an academic development derived from Eiffel. correct for certain deficiencies and omissions in C++. It is partly interpreted. C+© is a new language from AT&T Bell which is not a superset of C and claims to language so it will become genuinely object oriented. has been established which is expected to include inheritance and polymorphism in the control system. The ANSI standard has to be reviewed every 5 years, so a project Ada-9x is, the language used in many very large projects such as the North American air traffic Ada was initiated and used by the U.S. Department Of Defense. It has been, and still being a good language to grasp the OO point of view. OO language in that everything is viewed as an object, even integers. It is reported as Xerox. Smalltalk is both a language and a software development environment. It is a pure Smalltalk is an interpreted language which was created in 1967 by a research group of

2.3.3 Other languages of potential interest

people know it and that many class libraries and tools exist. commonly used language in the software industry which has the advantage that many importantly OO programming features, amoungst other features. C++ is by far the most some sense C++ is a better C. It provides type checking, overloaded functions and most C++ was designed by Bjarne Stroustrup at ATXLT Bell Labs [7] and is a superset of C. In

2.3.2 C++

generate code in the chosen programming language. OCR Output facility with which this can be done becomes a criterion. Finally the tool must be able to and use. It may be necessary to customize a tool to our specific needs, in which case the It is important that the tool effectively supports the methodology and is easy to learn

3.3 Evaluation of tools

comprehensible for non-specialists such that new people can understand the code. described by the model, and c0mprehensibility - are the diagrams used by the methodology Criteria for the judgement of methodologies are completeness - can the problem be fully to watch new methodologies as they are published during the lifetime of this proposal. on the most recent set because they seem to learn from each other. We will continue or less different methods have been published and used up to now. We will concentrate appropriate to the problem of event reconstruction in high energy physics. Some ten more First we need to evaluate which of the methodologies for analysis and design are most

3.2 Evaluation of methodologies

inevitably be evaluated only through qualitative impressions gained in the pilot projects. We hope to get quantitative estimates for some of these criteria, while others will to accept the OO approach and its consequences on the way of working. from the existing framework? Acceptability refers to the willingness of the collaboration a new detector element has to be incorporated into the code, how much can one profit has always been advertised as one of the important advantages of the OO approach. lf to other changes in requirements which will certainly occur. The concept of re-use of code criterion judging how well the code can be adapted to changes in the detector layout and to massively parallel processor systems for which threads are needed. Adaptability is a drastic changes than going from operating system n to n+1 like, for example, changing the package to a new platform. On the long time scale for the LHC we may foresee more difficult to measure on a short time - scale like maintainability, e.g. how easy it is to port However we feel that other criteria are at least equally important but will be more development time, actual development time, code size and ease of implementation. FORTRAN. Some obvious points of comparison are correctness, performance, estimated programs are obtained, with traditional high energy physics programs typically written in protoype programs produced in the pilot projects, as well as the means by which these An overall judgement of the OO approach will be primarily based on a comparison of the

3.1 Evaluation of the overall approach

will evolve with experience. as applied to the HEP environment. This is not meant to be a complete list, but one that We present here an initial set of criteria by which we intend to evaluate an OO approach

3 Criteria for evaluation

acquisition, reconstruction, physics analysis and commercial products). guarantee a good link between all software components we will use (e.g. simulation, data In this project we will study how our software could follow these specifications to work. OCR Output ologies, tools and languages. They will also provide an ideal introduction to OO e Smaller pilot projects will be used to do preliminary comparisons of different method

Other pilot projects will have different aims:

pattern recognition algorithm. ibility of the methodology will be tested by extending the model to implement a different general experience of both the methodology and the language. In a second stage the flex implemented using Eiffel. The first stage of this prototype should allow us to build up designed using the Class Relation methodology with the Objecteering tool and is being will include shower detection, pattern recognition, track fitting and graphics. It is being ready underway, will reconstruct electrons in the barrel region of the ATLAS detector and and then carry out well defined subsets of the offline event analysis. One such project, al These packages will read data from the ATLAS or CMS GEANT simulation programs Efforts will be directed towards the writing of prototype reconstruction packages. A techniques in HEP. Later work will reach a scale which should allow to show the suitability (or not) of OO detailed assessment will be made as prototypes become both larger and more complex. well as providing information for assessments of methodologies, languages and tools. More will concentrate on trying out and gaining experience in applying OO techniques to HEP as Most of the effort of this R&D proposal will go into prototype development. Initial work

4 Pilot projects

Suitability for large projects This is a combination of the above factors. the compiler and supporting tools allow changes to be made quickly. Fast development cycle This requires that the code is inherently readable, and that Performance The compiled code must execute quickly. Openness It must be easy to interface to other languages. compiler and not at run time. is doing what it is expected to do. Coding errors should be found, if possible, by the Robustness of generated system One must have confidence that the produced code writing and reading and so the code is more likely to be what was intended. Simple syntax A simple and regular syntax makes the language easier to learn for both not only the compiler but also associated libraries. Standard It must be easy to move code from one machine to another. Standards affect opment environment. Libraries and support tools Libraries should be available as well as a suitable devel multiple sources and at affordable prices. Availability of compilers Compilers should be available on different platforms, from emotional, so we must have clear criteria. Some of the following points are related. Though the language ought not to be a very important matter, it may be the most

3.4 Evaluation of languages

DEC have shown interest in joint projects in this field. OCR Output industry to test their platform specific products. Hewlett Packard, Silicon Graphics and on hardware which supports those tools. We will seek collaboration with the computer use public domain tools like vat (for audio) and wb (a white board tool) and to standardize time. Some testing has been done and the technique looks promising. It is our intention toquotesdbs_dbs20.pdfusesText_26