====== 2.2.1.1 Interfaces ====== [[dido:public:ra:1.2_views:2_tech_views:1_core|return to Fundamental Views ]] [[dido:public:ra:xapend:xapend.a_glossary:i:interface| Interfaces]] exist between the various independent components of the DIDO and are therefore fundamental to the integration of DIDO components into a system. Bidirectional interfaces are defined between: * hardware-to-hardware * hardware-to-software * hardware-to-human * software-to-human ===== Hardware ===== Hardware interfaces are how the outside world connects to physical devices such as disk drives, monitors, keyboards, internal buses, batteries, [[dido:public:ra:xapend:xapend.a_glossary:i:internet|internet]] ports, cameras, microphones, and [[dido:public:ra:xapend:xapend.a_glossary:s:sensor|sensors]]. These interfaces are described by the mechanical, electrical, and logical signals at the interface and the [[dido:public:ra:xapend:xapend.a_glossary:p:protocol|protocol]] for sequencing them.(( Govindarajalu, B. (2008). "3.15 Peripheral Interfaces and Controllers - OG". IBM PC And Clones: Hardware, Troubleshooting And Maintenance. Tata McGraw-Hill Publishing Co. Ltd. pp. 142–144. ISBN 9780070483118. Retrieved 15 June 2018. )) Fortunately, most of these interfaces are integrated into computer [[dido:public:ra:xapend:xapend.a_glossary:n:node|nodes]] and do not need to be addressed here. For example, the data from the sensor can be considered an [[dido:public:ra:xapend:xapend.a_glossary:i:immutable|Immutable]] [[dido:public:ra:xapend:xapend.a_glossary:d:data_object|Data Object]] and thus sent through the node network, but the actual acquisition of that data is a detail for nodes to implement. Refer to Section [[dido:public:ra:1.2_views:2_tech_views:1_core:1_interface:1_platform]] for more detail on Hardware interfaces. ===== Software ===== Software interfaces isolate the underlying complexity of functionality provided by a software product or package through the use of an [[dido:public:ra:xapend:xapend.a_glossary:a:api]]. The end result of this is to treat software products or packages as opaque blackboxes. Refer to Section [[dido:public:ra:1.2_views:2_tech_views:1_core:1_interface:2_software]] for more details on this subject. ===== Human ===== Human interfaces within DIDOs are bidirectional and primarily cover the software-to-human components. A software [[dido:public:ra:xapend:xapend.a_glossary:a:api]], although defining interactions between people and software, is classified as a software interface and not a human interface. Human interfaces cover the human interaction between the humans and an operational system; examples include mouse, keyboard, trackpad, and windows presented to users of the system. Refer to Section [[dido:public:ra:1.2_views:2_tech_views:1_core:1_interface:3_human]] for more details on this subject. /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~