configuring systems from components: the ems approach
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 PresentationTRANSCRIPT
![Page 1: Configuring Systems From Components: The EMS Approach](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/1.jpg)
Configuring Systems From Components:
The EMS Approach
Jerzy M. NogiecFermilab
ACAT03
![Page 2: Configuring Systems From Components: The EMS Approach](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/5.jpg)
Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 5
ArchitectureArchitecture
![Page 6: Configuring Systems From Components: The EMS Approach](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/8.jpg)
Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 8
Application DevelopmentApplication
Development
Application
![Page 9: Configuring Systems From Components: The EMS Approach](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/10.jpg)
Configuring Systems From ComponentsACAT03, J.Nogiec, Fermilab 10
GUI ComponentsGUI Components
![Page 11: Configuring Systems From Components: The EMS Approach](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.site/reader034/viewer/2022042703/56813952550346895da0efaf/html5/thumbnails/19.jpg)
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