100 likes | 294 Views
Database Framework. Nikolay Malitsky. EPICS Collaboration Meeting Oct. 7–14, 2010, BNL, NY, USA. Outline. Big picture Priorities DB-3 DB-4 and DB-3. Typical three-tier control system environment. Your Server. EPICS +=. EPICS 4 = EPICS 3 + Middle Layer. Priorities:.
E N D
Database Framework Nikolay Malitsky EPICS Collaboration Meeting Oct. 7–14, 2010, BNL, NY, USA
Outline • Big picture • Priorities • DB-3 • DB-4 and DB-3
Typical three-tier control system environment Your Server EPICS +=
EPICS 4 = EPICS 3 + Middle Layer Priorities: • Preserve the Gold Part of EPICS 3: • collection of drivers contributed by • the EPICS community 2. Add the support of structured data 3. More …
EPICS 4 = EPICS 3 + Middle Layer Different Types of Servers …. PV Access Server CAS 3 DDS AMQP ZeroMQ … PV Data API DDS Dynamic Data API … DB Framework DB-3 Adapter Structured Records DB-3
DDS Extensible Dynamic Topic Types The (excellent) industrial specification of the (excellent) PVData idea. Timeline: • RFP: June 27, 2008 • Revised Submission: February 22, 2010 • Adopted Beta 1: May 21, 2010 • Deadline for comments: November 29, 2010 • FTF (Finalization Task Force) Recommendation and Report : April 4, 2011 Addressed Topics: • Type System: C language, sparse types, type versioning and evolution • Type Representation: XML, TypeObject (binary), … • Data Representation: CDR, …, Google’s Protocol Buffers, … • Language Binding: a few interfaces, DynamicType and DynamicData. Everything looks great, but: DynamicData Interface is heavy • Good news: • Our proposal with 30 methods presented at the OMG technical meeting, • Sept. 20-23, 2010, Boston • Preliminary agreement to build the open-source code co-owned by • EPICS, RTI, and PrismTech.
DB-3 1. Separation of data containers and device supports 2. Collection of fine-grain records vs a coarse-grain device model. 1. Generic interface for the server requests Data Containers Algorithms: record and device supports dbBase * * rset dbRecordType dbCommon extent name (e.g. “ai”) dset aiRSET Record-specific interfaces and associations (defined in the external file) aiRecord aidset 2. Direct interface … Device-specific implementations devAiSoft …
DB-3 and DB-4 DB-4 db::PVBase * db::PVSupport * db::PVRecordManager db::PVRecord db::PVStructure process extent rec3::PVRecordManager rec3::AiRecord rec3::PVStructure rec3::PVSupport create rec3::AiRecordManager rec3::AiSupport rec3::AiRecord rec3::AiStructure * rset dbRecordType dbCommon extent name (e.g. “ai”) dset * dbBase Automatically generated from the db files aiRSET aiRecord aidset DB-3