Thesis subject

MSc thesis subject: Architecting the Software Ecosystem for Agricultural Applications

Level: MSc

Research area/discipline: Information Systems

Prerequisites: Information Systems for Engineers and Managers (INF31306), Software Engineering, Python

Short description:

A software ecosystem (SECO) is a collection of systems, which are developed and co-evolve in the same environment. Typically, a software ecosystem consists of a common software platform and a community of internal and external actors that compose software systems to satisfy their needs. The concept is inspired from natural ecosystems in which organisms are characterized by symbiotic relationships and their survival relies heavily on the survival of the ecosystem.

Software ecosystem based development is different from the traditional software development in which a software product was the result of effort of an independent software vendor typically developing a monolithic product. In software ecosystems, the development is not intra-organizational but inter-organizational and as such spread outside the traditional borders of software companies to a group of companies, private persons, or legal entities. Software ecosystems is also different from traditional outsourcing techniques since the initiating actor or platform owner does not necessarily own the software produced by contributing actors.

An often-given example of a software ecosystem is the Android ecosystem that provides a platform for external developers who can build applications, and which can then be distributed to Android users via the Google Play store. The current Android ecosystem consists now of more than 700.000 apps that have been developed by external actors worldwide [13]. Initiating and maintaining the Android software ecosystem has helped Google to increase the value of Android for its users, increased attractiveness, accelerated innovation, and decreased cost.

This assignment focuses on the architecture design of a SECO for agricultural systems. Together with the architecture design a prototype implementation of the system will be required

For more information: