13 January 2013

Thesis chapter 12.1.3: Research answer 1.2

Chapter 9 answers RQ1.2 by identifying the following quality attributes as necessary for a platform allowing for composition of independently developed software, the platform being a precursor for an open software ecosystem:
  • Composability: The software platform must fulfil a set of properties to allow the decoupling of applications and eliminate the need for development synchronisation. The architecture should allow development, integration and validation of applications independent of other applications.
  • Deployability: The applications must be possible to deploy independently of each other, and the product behaviour must not depend on the order in which applications are installed. There must also be a deployment infrastructure in place which fulfils necessary integrity requirements.
  • Maintainability: The platform must be sufficiently stable over time. Since the platform and application evolution is decoupled, i.e. no synchronised versioning, backwards compatibility is a key attribute.
  • Configurability: The platform must support variability in the hardware configuration of sensors and actuators since individual products can vary within the product family.
In addition to these there are two more quality attributes that affect the business value for embedded products in various domains, but are not universal:
  • Consistent User Interface: This is often considered important by manufacturers of embedded consumer products since much of brand recognition and willingness to stay with the product brand lies here. The other major aspect for brand distinction is the qualities provided by the hardware (precision, reliability, etc.).
  • Dependability: Many embedded domains have stringent dependability requirements. These domains are probably not the first adopters of an ecosystem-based approach to software development. However, if that was the case the embedded platform would satisfy; real-time requirements for the execution of individual applications, integrity requirements, high availability, and mechanisms to eliminate undesired feature interaction if several applications interact with the same actuators.
A reference architecture was designed to enable the qualities above, consisting of 20 architectural decisions together with 4 architecture patterns for:
  • Device abstraction
  • Data and service provision
  • Device and information composition
  • Safety-critical, certified and open application access
The conclusion is that it is conceivable to develop a platform suitable for compositional development, as a precursor for an open software ecosystem. The system in case VI implements most of the design decisions from chapter 9, but not all, leaving out mostly those related to safety-critical functionality.
The contribution is the novel reference architecture for composition of independently developed embedded software applications, suitable for using in an open software ecosystem. Open software ecosystems are not new, but no reference for implementation in the embedded domain is published in literature.

1 comment:

Groupwise email archiving said...

Very nice explained, one more good post!