The General-Purpose Modeling, Analysis, and Implementation of Software Architectures
In this paper, a new software modeling language called SAMP is proposed, which is inspired from UML and enables the general-purpose modeling of software architectures but at the same time promotes the multiple-viewpoints modeling, formal verification of the models for the desired requirements, and combination of model and code together. SAMP supports the high-level modeling of software architectures from the requirements, logical, behaviour, and deployment perspectives and supports checking the consistencies between the software models in different perspectives. SAMP is also supported with a modeling toolset that allows for the visual modeling of software architectures in those perspectives. The toolset further generates formal ProMeLa models that can be accepted by the SPIN model checker for the exhaustive verification of the software behaviours against the user-defined properties and some pre-defined properties (e.g., deadlock, race-condition, wrong and incomplete pre-conditions). Moreover, the toolset can also generate the Java Modeling Language (JML) code that combines the contractual models with the Java program for ensuring the consistency between model and code throughout the software development.
Copyright (c) 2020 Journal of Aeronautics and Space Technologies
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The manuscript with title and authors is being submitted for publication in Journal of Aeronautics and Space Technologies. This article or a major portion of it was not published, not accepted and not submitted for publication elsewhere. If accepted for publication, I hereby grant the unlimited and all copyright privileges to Journal of Aeronautics and Space Technologies.
I declare that I am the responsible writer on behalf of all authors.