Premium
Modular composition of multiple applications with architectural event modules
Author(s) -
Malakuti Somayeh
Publication year - 2017
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2478
Subject(s) - reusability , computer science , interoperability , modular design , event (particle physics) , software engineering , domain (mathematical analysis) , abstraction , interface (matter) , separation of concerns , distributed computing , software , systems engineering , programming language , engineering , world wide web , operating system , mathematical analysis , philosophy , physics , mathematics , epistemology , quantum mechanics , bubble , maximum bubble pressure method
Summary A complex software system is usually developed as a system of systems (SoS's) in which multiple constituent applications are composed and coordinated to fulfill desired system‐level requirements. To facilitate the interoperability of the constituent applications, they must be augmented with suitable coordination‐specific interfaces, through which they can participate in coordinated interactions. To increase the reusability of the applications and to increase the comprehensibility of SoS's, suitable mechanisms are required to modularize the coordination rules and interfaces from the constituent applications. We introduce a new abstraction named as architectural event modules (AEMs) , which facilitates defining constituent applications and desired coordination rules as modules of SoS's. AEMs modularly augment the constituent applications with event‐based interfaces to let them participate in coordinated interactions. We introduce the EventArch language in which the concept of AEMs is implemented, and illustrate its suitability using a case study in the domain of energy optimization. Copyright © 2017 John Wiley & Sons, Ltd.