Object Networks—ATLAS' Future Control Framework For Offline?

Slides:



Advertisements
Similar presentations
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Advertisements

SE-565 Software System Requirements More UML Diagrams.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Architectural Design.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
CPSC 372 John D. McGregor Module 3 Session 2 Architecture Analysis/Design.
Programmer's view on Computer Architecture by Istvan Haller.
Architectural Support for Fine-Grained Parallelism on Multi-core Architectures Sanjeev Kumar, Corporate Technology Group, Intel Corporation Christopher.
Systems Analysis and Design in a Changing World, 3rd Edition
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 ACAT 2000, Fermilab Oct Control States... Control States for the Atlas Software Framework.
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.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
DØ Offline Reconstruction and Analysis Control Framework J.Kowalkowski, H.Greenlee, Q.Li, S.Protopopescu, G.Watts, V.White, J.Yu.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Introduction to OOAD and UML
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Design Concepts ch-8
John D. McGregor Module 3 Session 2 Architecture Analysis/Design
Parallel Patterns.
The Components of Information Systems
CompSci 280 S Introduction to Software Development
Coupling and Cohesion Rajni Bhalla.
Processes and threads.
Cmpe 589 Spring 2006.
UML Diagrams By Daniel Damaris Novarianto S..
Architecture Concept Documents
Operating Systems (CS 340 D)
Nick Sims Scripting Languages.
Design and realization of Payload Operation and Application system of China’s Space Station Wang HongFei 首页.
Java Beans Sagun Dhakhwa.
Controlling a large CPU farm using industrial tools
Distribution and components
Part 3 Design What does design mean in different fields?
UML Diagrams Jung Woo.
Hierarchical Architecture
Chapter 2: Database System Concepts and Architecture
The Components of Information Systems
VISUAL BASIC.
Lecture 2: Processes Part 1
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
CS 425/625 Software Engineering Architectural Design
Software Development Process
Lecture 1: Multi-tier Architecture Overview
Patterns.
Chapter 9 Architectural Design
Software Architecture
GENERAL VIEW OF KRATOS MULTIPHYSICS
Starting Design: Logical Architecture and UML Package Diagrams
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Chapter 9 Architectural Design.
Systems Construction and Implementation
Systems Construction and Implementation
The Main Features of Operating Systems
Chapter 5 Architectural Design.
Design Yaodong Bi.
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 26 Estimation for Software Projects.
Software Development Process Using UML Recap
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Architectural Mismatch: Why reuse is so hard?
Presentation transcript:

Object Networks—ATLAS' Future Control Framework For Offline? 1998-09-03 Object Networks—ATLAS' Future Control Framework For Offline? Lassi A. Tuura CERN/EP Division Software Architecture WG Lassi A. Tuura, CERN/EP Division 1999-06-24 Lassi A. Tuura, CERN

Presentation Overview 1998-09-03 Presentation Overview What Is It? Strategic Design Decisions Other Design Goals Example Network Implementation Details Lassi A. Tuura, CERN/EP Division 1999-06-24 Lassi A. Tuura, CERN

What Is It? The control framework is the part of the infrastructure that makes sure that the right piece of software runs at the right time with the right inputs and the outputs go to the right place Lassi A. Tuura, CERN/EP Division 1999-06-24

Strategic Design Decisions #1 Fully object-oriented design, mainly in C++ Modular core infrastructural domains Mutually independent (orthogonal) in design As toolkits—collections of co-operating classes for app or app framework construction Will not try to take over and dominate application design, data or execution Code movability among analysis, offline reconstruction and event filter Lassi A. Tuura, CERN/EP Division 1999-06-24

Strategic Design Decisions #2 Separation of computational and data objects Use a component model Package computational units (algorithms) as replaceable components Components have well-defined interfaces Communication across component boundaries only in ways provided by the control framework Recognise data-flow nature of the problem Lassi A. Tuura, CERN/EP Division 1999-06-24

Strategic Design Decisions #3 Event is not a scratch pad storage Global knowledge ("everybody knows that…") gets quickly out of hand—no different from global variables or COMMON blocks Components name true data dependencies Framework reasons about the dependencies When accompanied by wise component design, significantly improves reusability Lassi A. Tuura, CERN/EP Division 1999-06-24

Strategic Design Decisions #4 Treat all data types the same Attach no meaning to any type Event is not special to the framework Note: Code reuse is not limited to component reuse—code can be shared across components in non-component form Lassi A. Tuura, CERN/EP Division 1999-06-24

Other Design Goals Instant gratification Framework separate from the components Dynamically load and unload components Visual feedback in interactive environment Spy on data as it "flies by"—components will not notice anything, spies are components too Allow application to be described as a script that is read, verified, components loaded, initialisation carried out, and network executed Lassi A. Tuura, CERN/EP Division 1999-06-24

Example Network Colors = data types Modules = behaviour Whole network = component Input-Output dependency Lassi A. Tuura, CERN/EP Division 1999-06-24

Implementation Details #1 Framework holds onto data objects via facets Kind of a handle that can reduce to a pointer A type can have any number of facets: transient, reference counting, database, … Data does not flow anywhere Outputs hold objects Inputs observe the outputs they are connected to, methods observe their inputs Notifications are sent when data changes Lassi A. Tuura, CERN/EP Division 1999-06-24

Implementation Details #2 Notifications do not result in immediate execution, only an action is scheduled for execution Action queue ordered by data dependencies Actions pulled from the queue and executed More actions may be queued as a result of executing the most recently chosen action Spontaneously generated actions can be queued by GUIs, network components Queues can be stacked  loops, recursion Lassi A. Tuura, CERN/EP Division 1999-06-24

Implementation Details #3 Methods are notified if their inputs have changed Only if the inputs have changed If any of the inputs have changed Required inputs must have values when the call is delivered Networks can be packaged as components Reuse as-is in a larger application Reconfigure: alter parameters but do not change the network Tear apart and reconfigure: reuse constituents Lassi A. Tuura, CERN/EP Division 1999-06-24

Implementation Details #4 Networks can execute in any context A normal method can be internally a network A network can run inside another network Runs till no more actions to execute and then returns to the caller Lassi A. Tuura, CERN/EP Division 1999-06-24