A Gradually Proceeded Software Architecture Design Process

Author(s):  
Licong Tian ◽  
Li Zhang ◽  
Bosheng Zhou ◽  
Guanqun Qian
Author(s):  
Paulo Gabriel Teixeira ◽  
Valdemar Vicente Graciano Neto

Over the years, knowledge on how to engineer software-intensive system-of-systems (SoS) have been expanded and advanced. However, challenges still remain. Constituent Systems (CSs) are required to instantaneously connect themselves to a SoS while still preserving their own operational independence. Moreover, SoS CS are subject to a sort of heterogeneities that makes it difficult to make decisions outside predefined frameworks, environment and hierarchical command-control structures. Hence, many of the systems currently available are not prepared to be part of an SoS, i.e., they can not maintain their operational independence despite their participation in one or more SoS. Based on this context, the main goal of this research is to exploit how to design a software architecture for systems that are intended to become part of a SoS in the future. To achieve this goal, we chose the urban mobility SoS domain, and then executed a software architecture design process to design a software architecture for an autonomous car as CS of this SoS. Later, we evaluated it through simulation. Preliminary results reveal that our proposal comply with the requirements raised during the architectural design process and can enable a system to be a constituent of a SoS while still preserving its operational independence.


Author(s):  
YUJIAN FU ◽  
ZHIJIANG DONG ◽  
XUDONG HE

A software architecture design has many benefits including aiding comprehension, supporting early analysis, and providing guidance for subsequent development activities. An additional major benefit is if a partial prototype implementation can be automatically generated from a given software architecture design. However, in the past decade less progress was made on automatically realizing software architecture designs. In this paper, we present a translator for automatically generating an implementation from a software architectural description. The implementation not only captures the functionality of the given architecture description, but also contains additional monitoring code for ensuring desirable behavior properties through runtime verification. Our method takes a software description written in SAM, a software architecture model integrating dual formal methods Petri nets and temporal logic, and generates ArchJava/Java/AspectJ code. More specifically, the structure of a SAM architecture description produces ArchJava code, the behavior models of components/connectors represented in Petri nets lead to plain Java code, and the property specifications defined in temporal logic generate AspectJ code; the above code segments are then integrated into Java code. An experimental result is provided.


Sign in / Sign up

Export Citation Format

Share Document