Instrument Neutral Distributed Interface: Difference between revisions

Content deleted Content added
Template:Start date and age update. WP:LINKs: updates, adds, WP:Disambiguate, cut needless: WP:PIPEs, underscores. Full terms define before WP:ABBReviations. Nonlead-word nonproper noun MOS:CAPS > low-case.
Introduction: Cut needless carriage return in paragraph.
Line 19:
 
==Introduction==
[[Elwood Downey]] started the INDI Protocol initiative in 2003 to develop a platform and client independent control protocol. INDI is a simple protocol modeled on Extensible Markup Language ([[XML]]), described for interactive and automated remote control of diverse instruments. It is small, easy to parse, and stateless. In the INDI paradigm, each ''Device'' poses all command and status functions in terms of setting and getting ''Properties''. Each Property is a vector of one or more named members, and has a current value vector; a target value vector; provides information about how it should be sequenced with respect to other Properties to accomplish one coordinated unit of observation; and provides hints as to how it might be displayed for interactive manipulation in a [[graphical user interface]] (GUI). Clients learn the Properties of a particular Device at runtime using introspection.
poses all command and status functions in terms of setting and getting ''Properties''. Each Property is a vector of one or more named members, and has a current value vector; a target value vector; provides information about how it should be sequenced with respect to other Properties to accomplish one coordinated unit of observation; and provides hints as to how it might be displayed for interactive manipulation in a [[graphical user interface]] (GUI). Clients learn the Properties of a particular Device at runtime using introspection.
 
This decouples Client and Device implementation histories. Devices have full authority over whether to accept commands from Clients. INDI accommodates intermediate servers, broadcasting, and connection topologies ranging from one-to-one on one type of system, to many-to-many between systems of different genre. The INDI protocol can be nested within other XML elements such as [[Remote Telescope Markup Language]] (RTML) to add constraints for automatic scheduling and execution.