1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.

Slides:



Advertisements
Similar presentations
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Advertisements

Chapter 2 – Software Processes
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Software Engineering 2003 Jyrki Nummenmaa 1 OBJECT ARCHITECTURE DESIGN These slides continue with our example application, based on the simplified.
Introduction To System Analysis and Design
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
System Architecture: Desing alternatives and methodologies.
Trigger and online software Simon George & Reiner Hauser T/DAQ Phase 1 IDR.
Database Administration Chapter 16. Need for Databases  Data is used by different people, in different departments, for different reasons  Interpretation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
What is Software Architecture?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Software Process Model
Developing Enterprise Architecture
Introduction to Information System Development.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© Paradigm Publishing Inc Chapter 10 Information Systems.
Engineering, Operations & Technology | Information TechnologyAPEX | 1 Copyright © 2009 Boeing. All rights reserved. Architecture Concept UG D- DOC UG D-
REVIEW OF NA61 SOFTWRE UPGRADE PROPOSAL. Mandate The NA61 experiment is contemplating to rewrite its fortran software in modern technology and are requesting.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
CSE 303 – Software Design and Architecture
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Introduction To System Analysis and Design
1 GAUDI - The Software Architecture and Framework for building LHCb data processing applications Marco Cattaneo, CERN February 2000.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Software Reusability An efficient way in Software Development By Tejaswi Peesapati
5 May 98 1 Jürgen Knobloch Computing Planning for ATLAS ATLAS Software Week 5 May 1998 Jürgen Knobloch Slides also on:
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
LHCb Computing Organisation and Development Strategy Presented to ATLAS Architecture WG July 16th, 1999 J.Harvey / LHCb.
Subject Slide 1 Roundtable on Software Process Input from LHCb.
19 November 98 1 Jürgen Knobloch ATLAS Computing ATLAS Computing - issues for 1999 Jürgen Knobloch Slides also on:
An Introduction to Software Engineering
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
ANKITHA CHOWDARY GARAPATI
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Software Prototyping Rapid software development to validate requirements.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
12 March, 2002 LCG Applications Area - Introduction slide 1 LCG Applications Session LCG Launch Workshop March 12, 2002 John Harvey, CERN LHCb Computing.
Marco Cattaneo, 3-June Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
Marco Cattaneo, 20-May Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
Pragmatics 4 Hours.
Lecture 3 Prescriptive Process Models
Migration of reconstruction and analysis software to C++
LHC-B Computing Computing Tasks Computing Model Software Strategy
WLCG: TDR for HL-LHC Ian Bird LHCC Referees’ meting CERN, 9th May 2017.
Distribution and components
Chapter 7 –Implementation Issues
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Project Phases ‘98 ‘00 ‘02 ‘04 ‘06 Preparatory Phase
Strategy for development of new software
LHCb Computing Project Organisation Manage Steering Group
Process for Organising Software Development Activities
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse m Project phases m Plans for immediate future m Points for discussion John Harvey CERN EP-ALC

2 Obstacles to Reuse m Engineering â poor design and implementation â lack of flexibility in components â too broad functionality in components â poor access to component libraries m Process â role of architect not defined â technical review procedures fail to address reuse â from existing software, identify what could be packaged for reuse

3 Obstacles to Reuse m Organisational â reuse requires a broad overview we tend to split into separate domains…divide and conquer each project tends to be managed independently of the others â culture don’t trust others to deliver what we need fear of dependency on others fail to share information with others developers fear loss of creativity Reuse is a management activity - need to provide the process and organisation to make it happen

4 Process for Reuse Manage Plan, initiate, track, coordinate Set priorities and schedules, resolve conflicts Support Support development processes Manage and maintain components Certify, classify, distribute Document, give feedback Assemble Design application Find and specialise components Develop missing components Integrate components Requirements Existing software systems Build Develop models, Evaluate toolkits Architect components and systems Choose integration standard Engineer reusable components

5 Project Organisation Support Facilities CPU farms Desktop Storage Network System Man. Vendors IT-IPT.. Vendors IT-PDP Vendors IT-ASD Support Software SDE Process Quality Librarian Training Webmaster M Data Management Event, Geometry M M Build Architecture Components Frameworks, Glue A Toolkits GUI, visual,…... M Reconstruction M Simulation M Analysis M Controls M Control Room M Assemble DAQ M Manage Steering Group MM C Technical Review EM A LHCb Computing... Arch. Review MA E... M A C E Coordinator Architect Project Manager Project Engineer

6 Online Coordinator Offline Coordinator DAQ Hardware DAQ Software Slow Controls SimulationAnalysisEvent Display Detector Description Event Display Detector Description Detector Description Traditional Project Organisation

7 Project Phases Preparatory Phase activities : OO migration, prototyping, technology evaluation, requirements analysis, maintain production software deliverables : functional specifications, architectural design, software process and development environment, organisational structure, decisions on technologies Implementation Phase select, build and test components develop applications stand-alone tests Commissioning Phase Install and integrate applications to make working systems, test in production environment Operation Phase Bring all systems into production 6 months before datataking ‘98 ‘00 ‘02 ‘04 ‘06

8 Strategy for next two years m Dilemma â have to keep existing software in production â update practices, use new technology for future development m OO Migration â migrate people as soon as possible â minimise ‘legacy’ code â need to setup a process and environment now â train - ‘just-in-time’, CERN training programme â algorithm development ongoing wrap to be able to use in existing FORTRAN environment â evaluate new toolkits â start component development (event model, geometry, ….) m Share ideas, designs, components etc. with other experiments m Don’t start too many activities, exploit what has been done so far

9 Schedule for next two years

10 For discussion? m Is reuse sufficiently important to put in place a specific process and organisation that support it? m Should all aspects of Computing be treated in one project structure? m Should there be a role for architects and for architectural review? m What components are out there (other experiments, commercial….) that we can start to use e.g. event model, geometry model,….?

11 Architecture m Definition â principles, mechanisms and patterns that define and communicate the structure of a system m Notation â designs communicated using a modeling notation e.g. OOA and OOD m Benefits of architecture-driven development â allows development of understandable systems that are easier to maintain â allows applications and components to evolve gracefully â enables developers to achieve a significant level of reuse â enables components to work well together

12 Widely used terms m Component â is a piece of software engineered to be reusable â should be cohesive i.e. perform well-defined function â have a stable public interface m Component systems â groups of related components providing more complete set of functionality m Layering â components can be built from lower-level components m Frameworks â implements core functionality of domain architecture, provides mechanisms to shape all applications developed using it m Interface Glue (Integration Technology) â user’s view of a component system â should conform to an appropriate architecture/industry standard â should not expose too much to permit future evolution â involves negotiation between architect, engineer and user

13 Industrial Figures on Components m Must be used at least 3-5 times to cover cost of creating and supporting m costs ~ twice as much to create and support a re-usable component as opposed to implementing it in a given application m costs ~a quarter as much to reuse a component as it does to develop one from scratch m takes ~3 years before benefits of reuse become significant

14 Lego ® bricks Component (building block) Interface glue (integration technology) ® proprietary Fischer Technik

15 Application Domains