Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications
1. Leveraging Software Architecturesto Guide and Verify the Development of Sense/Compute/Control Applications Damien Cassou1,2, Emilie Balland1, Charles Consel1, Julia Lawall3 1Phoenix, INRIA, France 2Software Architecture Group, HPI, Germany 3APL, DIKU, Denmark
2. Contributions A design language to specify a software system A compiler to process such specification for the verification of safety properties the guidance of the implementation the conformance 2 Context: Sense/Compute/Control software systems
11. The SCC Architectural Style sources sensors actuators actions orders control operators Environment refined information context operators raw data 7 [Chen et al., Context aggregation and dissemination in ubiquitous computing, WMCSA’02] [Edwards et al., Architecture-driven self-adaptation and self-management in robotics, SEAMS’09]
12. The SCC Architectural Style 8 sources actuators sensors actions Control orders control operators Sense Environment Compute refined information context operators raw data
18. Compiling a Design Design Language abstract generated Design Compiler Software system defeats guidance and verification concrete Design 13
19. Compiling a Design Design Language abstract generated Design Compiler Software system mixes design and implementation generated concrete Software System Design Compiler 14
20. Compiling a Design Design Language abstract generated Software system Design Compiler generated Compiler Software System Design generated concrete Software System Design Compiler 15
66. Summary A design language dedicated to specifying SCC software systems A compiler to process such specification for the guidance of the implementation the conformance 57
67. Status Report Implementation using standard language tools Java, ANTLR, StringTemplate Safety property verification generation of Promela specifications e.g., interaction invariants Several application domains avionics: simulated auto-pilot and AR drone building automation: light, fire, security, newscast, etc. misc.: web-server monitoring, home messenger, etc. Ongoing empirical evaluation with both students and professional software engineers http://diasuite.inria.fr Damien Cassou, Emilie Balland, Charles Consel, Julia Lawall
73. A Research Vehicle This work is part of a larger research project with 7 PhDs leveraging the frameworks QoS (FASE’11) security (ICPS’09, DAIS’11) error-handling (OOPSLA’10) virtual testing (Mobiquitous’10 and ‘09) SIP (ICC’10, ICIN’09, IPTComm’08) end-user programming (DSLWC’09) 64
74. Limitations Applies only to new projects Applies only to Sense/Compute/Control Requires architects to learn a new language Imposes small run-time overhead 65
Editor's Notes
Software architectures have long been used as a way to make software design explicit. However, these architectures are barely leveraged to guide subsequent phases of a software development cycle. In this work, we propose to leverage software architectures for the implementation and verification phases
SCC applications are applications that interact with an external environment
In this pattern, sensors…Interactions between these components are restricted.Explain that it separates the logic and the environment handling
In this style, sensors…Interactions between these components are restricted
In this style, sensors…Interactions between these components are restricted
In this style, sensors…Interactions between these components are restricted
The pattern guides the architect in describing his application. We want to go further and use this description to guide…