Tutorials¶
This page contains ECOA tutorials to illustrate how to use ECOA technology.
Caution
Disclaimer: these ECOA tutorials are provided solely on an ‘as is’ basis and co-authors of these tutorials make no warranties expressed or implied, including no warranties as to completeness, accuracy or fitness for purpose, with respect to any of the information.
Introducing the ECOA concepts¶
The following examples demonstrate the basic ECOA concepts:
A simple client-server example (Simple Example Documentation, Simple Example Source)
Extension of the previous example (Modules Example Documentation, Modules Example Source)
Another simple client-server example (Ping Pong Example Documentation, Ping Pong Example Source)
Manager Module example (Manager Module Example Documentation, Manager Module Example Source)
DataServers example (DataServers Example Documentation, DataServers Example Source)
Service Availability Example (Service Availability Example Documentation, Service Availability Example Source)
Simple Example CrossPlatformView (CrossPlatformView Documentation, CrossPlatformView Source)
Simple Lifecycle Example (Simple Lifecycle Example Documentation, Simple Lifecycle Example Source)
Wire Switch Example (Wire Switch Example Documentation, Wire Switch Example Source)
External Interface Example (External Interface Example Documentation, External Interface Example Source)
PINFO Example (PINFO Example)
Traditional Software .v. ECOA Software example(TraditionalvECOA Example Documentation, TraditionalvECOA Example Source)
It is possible to describe ECOA concepts with UML elements as described in the document “ECOA Software Description with UML”.
Examples of ECOA applications¶
The following examples illustrate development of ECOA applications:
Dining Philosophers : (Dining Philosophers Documentation, Dining Philosophers Source) - to demonstrate how ECOA concepts of concurrency and inversion of control ease and facilitate the design and implementation of multi-threaded, multi-processing, applications.
GimmeGimmeGimme : (GimmeGimmeGimme Documentation, GimmeGimmeGimme Source) - to demonstrate in C a minimum effort example of data distribution from a single data server to multiple data-accessing clients
GimmeGimmeGimmePP : (GimmeGimmeGimmePP Documentation, GimmeGimmeGimmePP Source) - GimmeGimmeGimme example implemented in C++
Hello World : (Hello World Documentation, Hello World Source) - to represent a minimum ECOA software system
Publish-Subscribe : (Publish-Subscribe Documentation, Publish-Subscribe Source) - to demonstrate how the ECOA Versioned Data concept facilitates the implementation of applications using the publish-subscribe data distribution pattern
BishBashBosh : (BishBashBosh Documentation, BishBashBosh Source) - to illustrate dynamic trigger instance mechanism
ChuckleBrothers : (ChuckleBrothers Documentation, ChuckleBrothers Source) - to describe an ECOA to-and-fro communications example
EmbedWithECOA : (EmbedWithECOA Documentation, EmbedWithECOA Source) - to show how ECOA components can be also used for small-scale embedded programs