Integration of Service-Oriented Embedded Systems with External Systems in Software Product Lines
2024 (English)Independent thesis Advanced level (degree of Master (One Year)), 12 credits / 18 HE credits
Student thesis
Abstract [en]
Developing software for complicated systems is often done by collaboration and consists of deliverables by a multitude of organisations. The deliverables can range from smaller devices and commercial-off-the-shelf software components, to larger systems. This is the situation during the development of the embedded system for large vehicles or machines. Many companies within the embedded industry are transitioning to using Service-Orientation to develop high-quality software and reduce costs. However, when integrating different external systems with an internal, service-oriented system there may arise difficulties since the communication patterns, i.e. interface, cannot be changed to fit the internal system. This study aims to develop a design solution that can be used to integrate different external systems with an internally developed service-oriented system in an entire software product line, including the handling of variability by parametrization. The solution is evaluated by software developers at a company in such a situation. To develop the design solution design science methodology is applied, which is an iterative process that continuously improves the candidate solution until satisfactory according to various stakeholders. The resultant design solution includes the use of wrappers-based interaction between systems, where so-called adapters are used when the internal system acts as a client to an external system, and using gateways for when the internal systems acts as a server to an external system. We also observe the need for a system integration view to describe the relations and available communication mechanisms between systems, i.e. the gateways and adapters. We conclude that to integrate a service-oriented software system with non-service-oriented systems, there can be benefits to using an abstraction layer between systems to protect the internally developed software architecture from being affected by the nature of the external system. Attempting to integrate external systems with an internal system as if also developed internally may become troublesome in terms of defining and upholding an appropriate service-oriented architecture. This is especially important when considering variability of the complete system, where different external systems are used or replaced in specific variants.
Place, publisher, year, edition, pages
2024. , p. 52
Keywords [en]
software architecture, software product lines, integration of systems
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-25947OAI: oai:DiVA.org:bth-25947DiVA, id: diva2:1834490
External cooperation
Volvo Construction Equipment
Subject / course
PA2592 Research Methods and Master's Thesis (60 credits) in Software Engineering for Professionals
Educational program
PAASA Master's Programme in Software Engineering 60,0 hp
Supervisors
Examiners
2024-02-142024-02-052024-02-14Bibliographically approved