[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