400 likes | 609 Views
CORBA in Control Systems. Ricardo Sanz. Contents. The Control Landscape Why CORBA ? What is CORBA ? CORBA Basics CORBA in Control Systems. The Control Landscape. Trends and Perspectives in Software-based Control Systems. RS-232 Interface To Others. Superloop (10 Mbaud, 250 Nodes).
E N D
CORBA in Control Systems Ricardo Sanz WP1 / R.Sanz / Viena September 11-13, 2002
Contents • The Control Landscape • Why CORBA ? • What is CORBA ? • CORBA Basics • CORBA in Control Systems WP1 / R.Sanz / Viena September 11-13, 2002
The Control Landscape Trends and Perspectives in Software-based Control Systems WP1 / R.Sanz / Viena September 11-13, 2002
RS-232 Interface To Others Superloop (10 Mbaud, 250 Nodes) Process Control Unit (PCU) Management Command System (MCS) 10,000 tags Process Control View (PCV) 1,500 tags Communication Gateway Plant Loop (500 Kbaud, 63 Nodes) Process Control Unit (PCU) Operator Interface Unit (OIU) 5,000 tags Loop/Bus Interface (LIM/BIM) Engineering Workstation (EWS) Computer Interface Unit (CIU) Module Bus (32 Addr.) Configuration & Tuning Module (CTM) Controller Module (COM) Redundant Analog Master Module (AMM) Redundant Multi-Function Controller (MFC) Logic Master Module (LMM) Slave Bus 64 Addr. Slave Bus 64 Addr. Digital I/O Slaves Analog I/O Slaves I/O Slaves I/O Slaves Digital Logic Station (DLS) Digital Control Station (DCS) Stand Alone Controller Termination Units
Software Intensive Control Safety MIS Enterprise Network Data Storage Business Management Process Control Process Operation Control Network Process Management Field Configuration Fieldbus Sensing and Acting Field Management Continuous Process Plant WP1 / R.Sanz / Viena September 11-13, 2002
Scaling Communication Coordination Transparency Naming Load sharing Consistency Failures Security Heterogeneity Mobility Predictability Design Issues / Challenges WP1 / R.Sanz / Viena September 11-13, 2002
Why CORBA ? Reasons for using CORBA in control systems engineering WP1 / R.Sanz / Viena September 11-13, 2002
interface PS { ADC: double RO DAC: double RW status: bits RO on(): void off(): void } RampedPS : PS { start(): void stop(): void } A Device Maps to an Object ps.getADC() ps.getDAC() ps.setDAC() ps.off() ps.getStatus() WP1 / R.Sanz / Viena September 11-13, 2002
Simple Example • Object-Wrapping a robot to build a simple master-slave relation: • Master: A master • Slave: A robot Robot.Goto(x) WP1 / R.Sanz / Viena September 11-13, 2002
DOC Benefits • Distributed computing can improve • Collaboration through connectivity and interworking • Performance through parallel processing • Reliability and availability through replication • Constructability, scalability and portability through modularity • Extensibility through dynamic configuration and reconfiguration • Cost effectiveness through resource sharing and reusability • Lifespan through standardization WP1 / R.Sanz / Viena September 11-13, 2002
Technical advantages • Legacy assets can be leveraged by wrapping. • Programmers have the ability to distribute components of an application to computers that best fit the task of each object without having to change the rest of the application using these objects. • Since objects appear to be local to their clients, a client does not need to know what machine, or even what kind of machine, an object resides on. • Systems integration can be performed to a higher degree. WP1 / R.Sanz / Viena September 11-13, 2002
Elements in DOC • Object Models: OO classics on the net • Component Models: Black-box Reuse • Middleware: Integration and interoperation • Transports: Distribution • Services: Prebuilt reusable functionality • Vertical domains • Horizontal domains WP1 / R.Sanz / Viena September 11-13, 2002
What is CORBA ? A Brief Intro to Distributed Object Computing WP1 / R.Sanz / Viena September 11-13, 2002
Integration • In-Thread • Method call: No concurrency, simplicity • In-Process • Inter thread requests: complex, fast, reliable • In-Host • Inter process requests: fast, reliable • In-Net • Inter hosts requests: unpredictable, unreliable WP1 / R.Sanz / Viena September 11-13, 2002
Integration Client Server In-process Client Process Server Process In-Host Client Server IPC In-Net Server Machine Client Machine Server Client RPC RPC WP1 / R.Sanz / Viena September 11-13, 2002
Middleware Middleware Middleware Simplification: Middleware In-process Client Server M In-Host Server Client M IPC M In-Net Client Server RPC RPC M M WP1 / R.Sanz / Viena September 11-13, 2002
Middleware Brokering Middleware Client Server Client Client Server Server WP1 / R.Sanz / Viena September 11-13, 2002
IIOP(CORBA) or ORPC(DCOM) or JRMP(Java/RMI) Making a request Server Client Server Stub Client Stub WP1 / R.Sanz / Viena September 11-13, 2002
OPC Structure C++ Client OPCServer OPCCustom I/F VendorSpecific Logic VB Client OPCAutomation I/F WP1 / R.Sanz / Viena September 11-13, 2002
CORBA • CORBA is the acronym for Common Object Request Broker Architecture. • CORBA is OMG's open, vendor-independent specification for an architecture and infrastructure that computer applications use to work together over networks. • Interoperability results from two key parts of the specification: • OMG Interface Definition Language (OMG IDL), • The standardized protocols GIOP and IIOP. WP1 / R.Sanz / Viena September 11-13, 2002
CORBA • CORBA is standardized middleware • CORBA is a non-proprietary standard • It is based on industry requirements • Is demonstrated by implementations • Is tailorable and extensible • Runs on heterogeneous platforms • Multiple implementations for suitability • Vendor and language independent • Multiple services for easy development WP1 / R.Sanz / Viena September 11-13, 2002
CORBA Basics Basic ideas about the technology WP1 / R.Sanz / Viena September 11-13, 2002
Object Request Broker OMA Overview Not standardized by OMG; Scope is Single application or vendor Business Objects Healthcare Finance Telecommunication Compound Docs Object Linking Help Facilities Desktop Mgmt Application Objects Vertical CORBA Facilities Horizontal CORBA Facilities Externalization Security Time Properties Query Licensing Lifecycle Events Naming Persistence Transactions Concurrency CORBA Services Object Management Architecture WP1 / R.Sanz / Viena September 11-13, 2002
Object Request Broker OMA Structure Object Management Architecture ApplicationSpecific Objects Horizontal Facilities Vertical (domain) facilities Input Method Repositories Manufacturing Medical Internationalization MOF Utilities E-Commerce Persistence Transaction Query Event Naming Concurrency Security Time Trader Common Object Services WP1 / R.Sanz / Viena September 11-13, 2002
ORB Components Client Object Implementation Server Skeleton Client Stubs ORB Interface POA DSI DII ORB Core One interface Proprietary interface One interface per object adaptor Normal call interface Up call interface One interface per object operation DSI: Dynamic Skeleton Interface POA: Portable Object Adapter DII: Dynamic Invocation Interface WP1 / R.Sanz / Viena September 11-13, 2002
Not Just Interoperability CORBA Domains CORBA Domains CORBA Domains Common Business Objects Business Object Facility CORBAfacilities UML Modeling Meta-Object Facility SECURITY CORBAservices Interoperability: IIOP, Asynch Realtime, Embedded options Components, Scripting IDL Interfaces, Mappings, & ORB WP1 / R.Sanz / Viena September 11-13, 2002
Domains in the OMA EC Services Intermodal Tele Services Offer Loc/Trade Stream Control Shop Floor Auto Tele Netwk Mgmt Insurance E-Payment Accounting PDM Medical Marine Banking MPI ERP Rail Dental Financial Objects Manufctring Objects Telecom Objects Healthcare Objects E-Commerce Objects Transprtation Objects BOF, basic Business Objects & Framework Horizontal CORBAfacilities CORBAservices WP1 / R.Sanz / Viena September 11-13, 2002
OMG Adoption Process • RFI (Request for Information) to establish range of commercially available software. • RFP (Request for Proposals) to gather explicit descriptions of available software. • Letters of Intent to establish corporate direction. • Task Force Development • End User evaluation & recommendation; simultaneous Business Committee examination. • Board decision based on TC, End User, and BC recommendations. WP1 / R.Sanz / Viena September 11-13, 2002
Model Driven Architecture • Is a new way of writing specifications and developing applications, based on a platform-independent model (PIM) and mappings to implementations using tools . • A complete MDA specification consists of: • A platform-independent base UML model • One or more platform-specific models (PSM) • Interface definition sets • A complete MDA application consists of a definitive PIM, plus one or more PSMs and complete implementations • MDA development focuses first on the functionality and behavior of a distributed application or system WP1 / R.Sanz / Viena September 11-13, 2002
Analysis and Design • The Unified Modeling Language (UML) is a graphical standard modeling language • The MetaObject Facility (MOF), standardizes a meta-model (i.e. the concepts that you use to build your application model). • XML Metadata Interchange (XMI), is a stream format for interchange of metadata (including the UML models) • The Common Warehouse Metamodel (CWM) standardizes a basis for data modeling commonality within an enterprise, across databases and data stores. WP1 / R.Sanz / Viena September 11-13, 2002
CORBA in Control Systems Examples of Use WP1 / R.Sanz / Viena September 11-13, 2002
Synchronized Pendulums Simplex ControllerLynx OSNode A: ILU ORB Simplex ControllerLynx OSNode B: ILU ORB outer loop controlCORBA SunOSNode C: ILU ORB WP1 / R.Sanz / Viena September 11-13, 2002
Browser JTIDS Application Controls & Displays C2 JTIDS Terminal F-15 JTIDS Terminal Open Weapon Systems C4I Collaboration Collaboration Simulation Server Client C2 F-15 Virtual Target Quality Object Folder Framework Adaptive Quality of Service Management Resource Mgmt Object Request Broker Pluggable Protocol Pluggable Protocol Link 16 Interface Software Link 16 Interface Software Link 16 WP1 / R.Sanz / Viena September 11-13, 2002
Behavior Virtual Arm Teleoperation Kavis 6 DOF Master WP1 / R.Sanz / Viena September 11-13, 2002
RiskManagement WP1 / R.Sanz / Viena September 11-13, 2002
Real time WAN video Remote operation of hydraulic power plants Camera User Interface WP1 / R.Sanz / Viena September 11-13, 2002
Leveraging Standards Electric Utilities / IEC 61850 Doorbell GPS Pushbutton Operator Terminal Configuration Terminal Camera 10BaseT 10BaseT IED-1 10BaseFL Ethernet Hub IED-2 WP1 / R.Sanz / Viena September 11-13, 2002
Problems Facing DOC • More complex lifecycle models • Lack of complete end-to-end methods • More diverse architectures to deal with • Lack of established development processes • Lack of tools • Integration and testing starting from early stages • Multiple threads of control • More complex risk profile WP1 / R.Sanz / Viena September 11-13, 2002
Going Down in Control MIS Strategic Control Optimization Tactical Control Plan execution Operational Control Reactivity Advanced Control User Interface Complex Loops Conventional Process Control Simple Loops Sensors & Actuators Plant WP1 / R.Sanz / Viena September 11-13, 2002