19
Configuring Systems From Components: The EMS Approach Jerzy M. Nogiec Fermilab ACAT03

Configuring Systems From Components: The EMS Approach

  • Upload
    shawna

  • View
    37

  • Download
    2

Embed Size (px)

DESCRIPTION

ACAT03. Configuring Systems From Components: The EMS Approach. Jerzy M. Nogiec Fermilab. Outline. EMS Goal .……………………………… EMS Framework ………………………. Application Development with EMS…. EMS Special Features ……………….. Wrap-Up ……………..………….………. Goal. - PowerPoint PPT Presentation

Citation preview

Page 1: Configuring Systems From Components: The EMS Approach

Configuring Systems From Components:

The EMS Approach

Jerzy M. NogiecFermilab

ACAT03

Page 2: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 2

OutlineOutline

EMS Goal .………………………………

EMS Framework ……………………….

Application Development with EMS….

EMS Special Features ………………..

Wrap-Up ……………..………….………

Page 3: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 3

GoalGoal

The goal of the EMS project is to design, implement, and deploy a system that is extensible and flexible, and therefore suitable for R&D environments. It should satisfy ever changing requirements, support agile development of applications, and promote reuse.

Page 4: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 4

EMSEMS EMS is a component*-based framework** for building test

and data analysis systems. EMS is developed in Java to guarantee portability and

facilitate the use of object-oriented development technologies.

*Framework – the skeleton of an application that can be customized and reused**Component – an independently released software module suitable for composition (together with other components) into multiple applications

Page 5: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 5

ArchitectureArchitecture

Page 6: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 6

Component InterfacesComponent Interfaces

• properties• state• error status

data data

control

exception debug

Components have properties and state. Typical components input, process, and output data. Their behavior depends on their state and property values. Components can be forced to perform certain actions by sending control events to them. Components also output debug and exception information.

Page 7: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 7

Component ConnectivityComponent Connectivity

splitter

merger

filter

There are several categories of data processing components:

Data sinks Data sources Data filters/processors Data splitters Data mergers

source

sink

Page 8: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 8

Application DevelopmentApplication

Development

Application

Page 9: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 9

ComponentsComponents Core components

Application monitoring Scripting Event processing

Data Presentation Graphing components Display components

Control & Input Data Processing Data Input/Output

File I/O Database access URL access

DAQ

Page 10: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 10

GUI ComponentsGUI Components

Page 11: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 11

Component User Documentation

Component User Documentation

EMS Help Viewer assists users in selecting and configuring components.

EMS Help Composer assists developers in producing the user-focused documentation

Page 12: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 12

Connecting ComponentsConnecting

Components EMS provides for

independent “wiring” of components for property, data, exception, control, and debug events.

EMS supports unicast, multicast, and broadcast patterns.

Source routing (dynamic, run-time) & routing tables (static, configuration-time).

Page 13: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 13

EMS XML DialectEMS XML Dialect<configuration version="0.1" title="Display Test XML">

<!-- Component definitions --> <component id="Producer” class="ems.core.components.SimpleDataGenerator"> <property name="title" value="Data Generator Component"/> </component> <component id="Chart" class="ems.measurement.chart.ChartDataDisplay"> <property name="XPosition" value="0"/> <property name="YPosition" value="200"/> <property name="title" value="Plot Display"/> </component>

<!-- Routing information --> <route type="Data" origin="Producer" destination="Chart" />

<!-- Control signals --> <control signal="init" destination="!"/> <control signal="start" destination="!"/>

</configuration>

Page 14: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 14

TailoringTailoring

Tailoring – run-time modification of behavior of components.

Tailoring could be used to refine configurations at run-time.

The PropertySheet component allows for tailoring and controlling other components.

Page 15: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 15

ScriptingScriptingScripting allows for

automation of processing and for quick construction of new tests or data processing logic.

The script interpreter is responsible for interpreting Python scripts.

The script control panel allows for selecting, running, and monitoring a script.

Page 16: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 16

Monitoring ApplicationMonitoring Application

The communication on the bus can be selectively monitored using the event monitor component.

Memory usage can be monitored using the memory monitor component.

Timing of components can be monitored.

Debugging and/or exception information can be routed to a separate display or I/O component.

Page 17: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 17

EMS FeaturesEMS FeaturesComponent technology to allow for reuseArchitecture that supports extensibilityConfigurable applicationsTailoring of applications at run-timeScripting to rapidly develop or modify applicationsIntegrated application monitoring, debugging, and exception handlingHighly-configurable componentsUniversal components that accept various collections of data items

Page 18: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 18

WrapUpWrapUp

EMS is a flexible Java-based framework.EMS allows for high level of reuse.EMS features allow for agile development of new

applications and easy adaptation of existing applications to changing requirements.

Page 19: Configuring Systems From Components: The EMS Approach

Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 19

ResourcesResources EMS web site http://sdsg.fnal.gov/emsweb

EMS on-line documentationhttp://wwwtsmtf.fnal.gov/ems_javadoc2.X