Leveraging software architectures to guide and verify the development of sense/compute/control applications

Damien Cassou, Emilie Balland, Charles Consel, Julia Lawall

38 Citations (Scopus)

Abstract

A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification. In this paper, we explore one point in the design space between abstract and concrete component interaction specifications. We introduce a notion of interaction contract that expresses allowed interactions between components, describing both data and control-flow constraints. This declaration is part of the architecture description, allows generation of extensive programming support, and enables various verifications. We instantiate our approach in an architecture description language for Sense/Compute/Control applications, and describe associated compilation and verification strategies

Original languageEnglish
Title of host publicationProceedings of the 33rd International Conference on Software Engineering
Number of pages10
PublisherAssociation for Computing Machinery
Publication date2011
Pages431-440
ISBN (Print)978-1-4503-0445-0
DOIs
Publication statusPublished - 2011
Event33rd International Conference on Software Engineering - Waikiki, Honolulu, United States
Duration: 21 May 201128 May 2011
Conference number: 33

Conference

Conference33rd International Conference on Software Engineering
Number33
LocationWaikiki
Country/TerritoryUnited States
CityHonolulu
Period21/05/201128/05/2011

Fingerprint

Dive into the research topics of 'Leveraging software architectures to guide and verify the development of sense/compute/control applications'. Together they form a unique fingerprint.

Cite this