Configuring Systems From Components: The EMS Approach - PowerPoint PPT Presentation

configuring systems from components the ems approach n.
Skip this Video
Loading SlideShow in 5 Seconds..
Configuring Systems From Components: The EMS Approach PowerPoint Presentation
Download Presentation
Configuring Systems From Components: The EMS Approach

play fullscreen
1 / 19
Configuring Systems From Components: The EMS Approach
Download Presentation
Download Presentation

Configuring Systems From Components: The EMS Approach

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Outline EMS Goal .……………………………… EMS Framework ………………………. Application Development with EMS…. EMS Special Features ……………….. Wrap-Up ……………..………….……… Configuring Systems From Components

  3. Goal 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. Configuring Systems From Components

  4. EMS • 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 Configuring Systems From Components

  5. Architecture Configuring Systems From Components

  6. Component Interfaces 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. control • properties • state • error status data data exception debug Configuring Systems From Components

  7. filter splitter source merger sink Component Connectivity • There are several categories of data processing components: • Data sinks • Data sources • Data filters/processors • Data splitters • Data mergers Configuring Systems From Components

  8. Application Development Application Configuring Systems From Components

  9. Components • 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 Configuring Systems From Components

  10. GUI Components Configuring Systems From Components

  11. Component User Documentation • EMS Help Viewer assists users in selecting and configuring components. • EMS Help Composer assists developers in producing the user-focused documentation Configuring Systems From Components

  12. Connecting 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). Configuring Systems From Components

  13. EMS 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> Configuring Systems From Components

  14. Tailoring • 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. Configuring Systems From Components

  15. Scripting • Scripting 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. Configuring Systems From Components

  16. Monitoring 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. Configuring Systems From Components

  17. EMS Features • Component technology to allow for reuse • Architecture that supports extensibility • Configurable applications • Tailoring of applications at run-time • Scripting to rapidly develop or modify applications • Integrated application monitoring, debugging, and exception handling • Highly-configurable components • Universal components that accept various collections of data items Configuring Systems From Components

  18. WrapUp • 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. Configuring Systems From Components

  19. Resources EMS web site EMS on-line documentation Configuring Systems From Components