Using Correct-by-Construction Software Agile Development

Disasters and crises, whether climatic, economic, or social are undesirably frequent in everyday lives. In such situations, lives are lost mainly because of inadequate management, lack of qualified and accurate information, besides other factors that prevent full situational awareness, including software failures. The goal of this paper is to report the agile conceptualization, design, build, and demonstration of a computerized system, containing correct-by-construction software, to safely manage critical information, during alerts or crises situations. On this research, the following challenges and requirements were tackled: formal specifications, aerospatial-level reliability, agile development, embedded systems, controlled testability, and product assessment. An Interdisciplinary Problem-Based Learning (IPBL), involving a Scrum of Scrums Agile Framework was adapted for managing the cohesive, productive, and collaborative development team of around 100 undergrad and graduate students remotely working. In addition, the following hardware technologies, for supporting the software development were used: environment sensors, Radio Frequency Identification (RFID), and Unmanned Aerial Vehicles (UAVs). Other software technologies were also used, as well cloud-based web-responsive platforms and mobile applications to geographically manage resources at real-time. Finally, the ANSYS® SCADE (Safety-Critical Application Development Environment) was employed to support the embedded and correct-by-construction module of this system, according to Model-Driven Architecture (MDA) and Model-Driven Development (MDD).