This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:1.4_req:1_func:platform [2020/12/02 13:50] nick |
dido:public:ra:1.4_req:1_func:platform [2022/04/24 22:37] (current) nick |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 4.1.1 Platforms ====== | + | ====== 4.2.1 Platforms ====== |
| [[dido:public:ra:1.4_req:1_func| Return to Functional Requirements ]] | [[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]]). | ||
| + | |||
| + | <figure platforms> | ||
| + | {{ :dido:public:ra:1.4_req:1_func:screen_shot_2020-12-11_at_7.44.20_am.png?500 |}} | ||
| + | <caption>The Kinds of Platforms</caption> | ||
| + | </figure> | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <code> | ||
| + | HW-vvv:OS-vvv:RT-vvv | ||
| + | </code> | ||
| + | |||
| + | 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]]. | ||
| + | |||
| + | <figure> | ||
| + | {{ :dido:public:ra:1.4_req:1_func:platform:screen_shot_2020-12-11_at_7.02.22_am.png?250 |}} | ||
| + | <caption>The composition of a Application Container.</caption> | ||
| + | </figure> | ||
| + | |||
| + | * [[dido:public:ra:1.4_req:1_func:platform:virtnodes]] | ||