Ark: a constraint-based method for architectural synthesis of smart systems

被引:2
作者
Guessi, Milena [1 ,2 ]
Oquendo, Flavio [3 ]
Nakagawa, Elisa Yumi [1 ]
机构
[1] Univ Sao Paulo, ICMC, Sao Paulo, Brazil
[2] Univ Toronto, IHPME, Toronto, ON, Canada
[3] Univ Bretagne Sud, IRISA UMR CNRS, Vannes, France
基金
巴西圣保罗研究基金会;
关键词
Smart system; Software architecture; Formal method; Architectural synthesis; Constraints; Alloy; SOFTWARE; MODEL; CLASSIFICATION;
D O I
10.1007/s10270-019-00764-7
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
As smart systems leverage capabilities of heterogeneous systems for accomplishing complex combined behaviors, they pose new challenges to traditional software engineering practices that considered software architectures to be mostly static and stable. The software architecture of a smart system is inherently dynamic due to uncertainty surrounding its operational environment. While the abstract architecture offers a way to implicitly describe different forms taken by the software architecture at run time, it is still not sufficient to guarantee that all concrete architectures will automatically adhere to it. To address this issue, this work presents a formal method named Ark supporting the architectural synthesis of smart systems. This is achieved by expressing abstract architectures as a set of constraints that must be valid for any concrete architecture of the smart system. This way, we can benefit from existing model-checking techniques to guarantee that all concrete architectures realized from such an abstract model will comply with well-formed rules. We also describe how this method can be incorporated to a model-driven approach for bridging the gap between abstract and concrete architectural models. We demonstrate our method in an illustrative case study, showing how Ark can be used to support the synthesis of concrete architectures as well check the correctness and completeness of abstract architecture descriptions. Finally, we elaborate on future directions to consolidating a process for the synthesis of run-rime architectures that are correct-by-construction.
引用
收藏
页码:741 / 762
页数:22
相关论文
共 75 条
  • [41] Kruchten P, 2009, SOFTWARE ARCHITECTURE KNOWLEDGE MANAGEMENT: THEORY AND PRACTICE, P39, DOI 10.1007/978-3-642-02374-3_3
  • [42] Maier M. W., 1998, Syst Eng., V1, P267, DOI [DOI 10.1002/(SICI)1520-6858(1998)1:43.0.CO
  • [43] 2-D, DOI 10.1002/(SICI)1520-6858(1998)1:4ANDLT
  • [44] 267::AID-SYS3ANDGT
  • [45] 3.0.CO
  • [46] 2-D, 10.1002/(SICI)1520-6858(1998)1:4<267::AID-SYS3>3.0.CO
  • [47] 2-D]
  • [48] What Industry Needs from Architectural Languages: A Survey
    Malavolta, Ivano
    Lago, Patricia
    Muccini, Henry
    Pelliccione, Patrizio
    Tang, Antony
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (06) : 869 - 891
  • [49] On the Heroism of really Pursuing Formal Methods (Title inspired by Dijkstra's "On the Cruelty of really Teaching Computing Science" [1])
    Mandrioli, Dino
    [J]. 2015 IEEE/ACM 3RD FME WORKSHOP ON FORMAL METHODS IN SOFTWARE ENGINEERING, 2015, : 1 - 5
  • [50] MARGARIDO MG, 2017, THESIS