{"title":"Media Player Software in a System of Subsystems","authors":"Jack Alexander Goossen, T. Henriksson","doi":"10.1109/WICSA.2008.40","DOIUrl":null,"url":null,"abstract":"System integration effort for feature-rich consumer electronic products is responsible for a significant part of the product cost. The cost of integration becomes so high that profitability of products is under pressure. Systems of subsystems is an architectural style for embedded systems that potentially decreases the effort of system integration by orders of magnitude. This is achieved by integrating software and hardware in two steps. The first integration step results in subsystems; validated, reusable modules consisting of hardware and software. In the second integration step subsystems are combined to form a system. A system of subsystems requires a software architecture that supports distribution of software over subsystems and encapsulates internal complexity of subsystems. A software architecture should also meet practical boundary conditions such as support for reuse of state-of-practice software. However, a large amount of state-of-practice software is not partitioned to be used in an environment where software is distributed over subsystems. Existing software interfaces may expose internal complexity of subsystems when software is distributed. We present an architectural analysis of a portable audio player, following a system of subsystems approach. We created a model of a portable audio player in which each subsystem is represented by a PC and is connected to a LAN representing a network-on-chip. To explore consequences for software reuse, we ported a software stack for media playback to this model. The software was repartitioned to support the requirements of the system architecture. Though we made some architectural changes, a large part of the selected software stack could be reused.","PeriodicalId":352075,"journal":{"name":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WICSA.2008.40","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
System integration effort for feature-rich consumer electronic products is responsible for a significant part of the product cost. The cost of integration becomes so high that profitability of products is under pressure. Systems of subsystems is an architectural style for embedded systems that potentially decreases the effort of system integration by orders of magnitude. This is achieved by integrating software and hardware in two steps. The first integration step results in subsystems; validated, reusable modules consisting of hardware and software. In the second integration step subsystems are combined to form a system. A system of subsystems requires a software architecture that supports distribution of software over subsystems and encapsulates internal complexity of subsystems. A software architecture should also meet practical boundary conditions such as support for reuse of state-of-practice software. However, a large amount of state-of-practice software is not partitioned to be used in an environment where software is distributed over subsystems. Existing software interfaces may expose internal complexity of subsystems when software is distributed. We present an architectural analysis of a portable audio player, following a system of subsystems approach. We created a model of a portable audio player in which each subsystem is represented by a PC and is connected to a LAN representing a network-on-chip. To explore consequences for software reuse, we ported a software stack for media playback to this model. The software was repartitioned to support the requirements of the system architecture. Though we made some architectural changes, a large part of the selected software stack could be reused.