Keywords framework component based open industry standard:availability tools docs evolution graceful retirement: vertical modularity multi-threaded, multi-process, distributed (UI,event display) control domain:filters, sequences, paths, checkpointing User Interface domain, integrated analysis domain tag database, dynamic loading: "thin client" framework: errorHandling+ui shell+class catalog, loader oodb transactions: safe component communication component-to-component communication: AbsEvent too rigid Notes framework MFC, Java Swing a collection of classes that provide a set of services, generally providing a well defined interface for some particular task or set of tasks in AC++: I/O of event, calibration and control data management of the event processing loop multi-threaded, multi-process, distributed (UI,event display) but who control who (UI-event driven or HEP-event loop) components have internal state? component-to-component communication: AbsEvent too limited? Global AbsEvent vs passing around Paremter objects. Singleton collection of global objects? store, pass around state using global state objects (besides AbsEvent)? CLEO Frame Cleo Records a type of data (calibration, event, begin run, geometry...) Cleo Stream the time evolution of a record Cleo Frame a snapshot of all Streams at a given time Cleo Processor a collection of algorithms bound to a stream, fired be the appearance of a new record. Results stored in the Frame Cleo Path an ordered colection of Processors Cleo Proxy an object managing Record data (lazy instantiation, created on-the-fly or read from a stream AC requirements specify a path, override default order manipulate module histograms (book, I/O, display) paramer override menu stop a path as a result of cuts. Multiple path, single excution of common mudules specify global i/o streams Arve Subsystems (=modules) subdetctors but also tracking Control menu, server and services Display integrated object display Simulation CMS Appl framework use patterns development: small data sets, interactive debugging, event display calibration: high speed access to moderate size serialized data samples, interactive analysis analisys: high speed access to small size random data samples, interactive analysis & display offline production: large scale serial I/O. Batch processing, version control L3 production: as above stricter version control Simulation: limited interactivity, cpu bound Trans persistent mapping transaction handling as control flows from one comp to another reconstruction-on-demand be concrete ask for people define deliverables