====== 4.2.1 Platforms ====== [[dido:public:ra:1.4_req:1_func| Return to Functional Requirements ]] A **Platform** is an overloaded term and depends on the context it is used in. Sometimes, [[dido:public:ra:xapend:xapend.a_glossary:p:platform|Platform]] refers to just the hardware (i.e., x86, 68000, [[dido:public:ra:xapend:xapend.a_glossary:c:cisc|CISC]], RISC, ARM, etc.), other times it can refer to the [[dido:public:ra:xapend:xapend.a_glossary:o:os|Operating system]] (i.e., Windows, Linux, MacOS, Android, iOS), sometimes it can refer to the run-time environment provided by the programming languages used (i.e., C, C++, C#, Java or .NET), while othertimes it can refer to the networking used to connect computers together (i.e., [[dido:public:ra:xapend:xapend.a_glossary:t:tcp]]/[[dido:public:ra:xapend:xapend.a_glossary:i:ip]]/[[dido:public:ra:xapend:xapend.a_glossary:u:udp]], [[dido:public:ra:xapend:xapend.a_glossary:b:bluetooth]], [[dido:public:ra:xapend:xapend.a_glossary:z:zigbee]]).
{{ :dido:public:ra:1.4_req:1_func:screen_shot_2020-12-11_at_7.44.20_am.png?500 |}} The Kinds of Platforms
As a consequence, in order to identify a specific platform, all the individual platforms and the specific versions need to be identified. This could result in hundreds if not thousands of combinations of platforms. This can quickly become a maintenance nightmare with versions that can almost change daily to apply patches. HW-vvv:OS-vvv:RT-vvv Where: * ''HW'' - represents the specific hardware such as x86, 6800, ARM, etc * ''OS'' - represents the specific Operating System such as Windows, MacOS, iOS, Android, etc * ''RT'' - represents the specific runtime environment such as C, Java, Solidity, C#, eyc * ''vvv'' - represents the specific version of the platform such as 10.15.7 * [[dido:public:ra:1.4_req:1_func:platform:hw_arch]] * [[dido:public:ra:1.4_req:1_func:platform:os_arch]] * [[dido:public:ra:1.4_req:1_func:platform:sw_arch]] * [[dido:public:ra:1.4_req:1_func:platform:net_arch]] Another way to represent a platform is to use an [[dido:public:ra:xapend:xapend.a_glossary:a:app_container]] that encapsulates the platforms into the [[dido:public:ra:xapend:xapend.a_glossary:c:container|container]]. This simplifies the deployment and the number of user platforms that have to be supported. For example, any user platform that can support a container, will be able to deploy and use the [[dido:public:ra:xapend:xapend.a_glossary:a:application|Application]].
{{ :dido:public:ra:1.4_req:1_func:platform:screen_shot_2020-12-11_at_7.02.22_am.png?250 |}} The composition of a Application Container.
* [[dido:public:ra:1.4_req:1_func:platform:virtnodes]] /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~