Supporting Dynamic Software Architectures: From Architectural Description to Implementation

被引:25
作者
Cavalcante, Everton [1 ,2 ]
Batista, Thais [1 ]
Oquendo, Flavio [2 ]
机构
[1] Univ Fed Rio Grande do Norte, DIMAp, Natal, RN, Brazil
[2] Univ Bretagne Sud, CNRS, IRISA UMR, Vannes, France
来源
2015 12TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA) | 2015年
关键词
software architectures; dynamic reconfiguration; architecture description language; pi-ADL; Go;
D O I
10.1109/WICSA.2015.21
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic software architectures are those that describe how components and connectors can be created, interconnected, and/or removed during system execution. Most existing architecture description languages (ADLs) provide a limited support to expressively describe these architectures and entail architectural mismatches and inconsistencies between architecture and implementation due to their decoupling from implementation. In this paper, we introduce the dynamic reconfiguration support provided by pi-ADL, a formal, well-founded theoretically language for describing dynamic software architectures under structural and behavioral viewpoints. pi-ADL provides architectural-level primitives for specifying programmed dynamic reconfigurations, i. e., foreseen changes described at design time and triggered at runtime. In addition, pi-ADL allows enacting dynamic reconfiguration by means of: (i) an exogenous approach, in which it is possible to control all elements of the software architectures and to apply the changes on the whole structure; and (ii) an endogenous approach, in which the architectural elements can manage dynamic reconfiguration actions. Furthermore, pi-ADL is integrated with the Go programming language, thus enabling to automatically generate implementation code from architectural descriptions, thus tackling the existing gap between them. We hereby use a real-world flood monitoring system as an illustrative example of how to describe dynamic software architectures in pi-ADL and automatically generate source code in Go.
引用
收藏
页码:31 / 40
页数:10
相关论文
共 17 条
  • [1] Aldrich J, 2002, ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P187, DOI 10.1109/ICSE.2002.1007967
  • [2] [Anonymous], 1999, Communicating and mobile systems: the pi calculusM
  • [3] [Anonymous], 1995, LNCS
  • [4] Bradbury Jeremy S., 2004, Organizing definitions and formalisms for dynamic software architectures
  • [5] BRADBURY JS, 2004, P 1 ACM SIGSOFT WORK, P28
  • [6] Cavalcante E, 2014, LECT NOTES COMPUT SC, V8627, P130, DOI 10.1007/978-3-319-09970-5_13
  • [7] ENDLER M, 1992, P INT WORKSH CONF DI, P68
  • [8] Feiler P. H., 2012, MODEL BASED ENG AADL, V1st
  • [9] COMMUNICATING SEQUENTIAL PROCESSES
    HOARE, CAR
    [J]. COMMUNICATIONS OF THE ACM, 1978, 21 (08) : 666 - 677
  • [10] Hughes D., 2011, J BRAZ COMPUT SOC, V17, P85, DOI [10.1007/s13173-011-0029-3, DOI 10.1007/S13173-011-0029-3]