Journals / Havacılık ve Uzay Teknolojileri Dergisi / 2020 / Cilt: 13 - Sayı: 2

The General-Purpose Modeling, Analysis, and Implementation of Software Architectures

Yazılım Mimarilerinin Genel-amaçlı olarak Modellenmesi, Analizi, ve Koda Dönüştürülmesi

Pages
165–177
Publication Date
2022-10-18
DOI
—
🏛️Bibliographic metadata and full text access for this article are provided via DergiPark.
DergiPark Record ↗
✨

AI Summary & Key Takeaways

AI Insight
⚡ TL;DR(Too Long; Didn't Read)

Moreover, the toolset can alsogenerate the Java Modeling Language (JML) code that combines thecontractual models with the Java program for ensuring the consistencybetween model and code throughout the software development.

📌 3 Key Takeaways

🎯
Objective & Hypothesis:In this paper, a new software modeling language called SAMP is proposed,which is inspired from UML and enables the general-purpose modeling ofsoftware architectures but at the same time promotes the multiple-viewpointsmodeling, formal verification of the models for the desired requirements, andcombining model and code together.
📊
Key Findings & Data:The toolset further generates formalProMeLa models that can be accepted by the SPIN model checker for theexhaustive verification of the software behaviors against the user-definedproperties and some pre-defined properties (e.g., deadlock, race-condition,wrong and incomplete preconditions).
💡
Conclusion & Impact:Moreover, the toolset can alsogenerate the Java Modeling Language (JML) code that combines thecontractual models with the Java program for ensuring the consistencybetween model and code throughout the software development.
🔬Design:Modeling & Simulation
📍Scope:Comprehensive Sample
⚙️Variables:Domain Parameters

Abstract

In this paper, a new software modeling language called SAMP is proposed,which is inspired from UML and enables the general-purpose modeling ofsoftware architectures but at the same time promotes the multiple-viewpointsmodeling, formal verification of the models for the desired requirements, andcombining model and code together. SAMP supports the high-level modelingof software architectures from the requirements, logical, behavioral, anddeployment perspectives and supports checking the consistencies betweenthe software models in different perspectives. SAMP is also supported witha modeling toolset that allows for the visual modeling of softwarearchitectures in those perspectives. The toolset further generates formalProMeLa models that can be accepted by the SPIN model checker for theexhaustive verification of the software behaviors against the user-definedproperties and some pre-defined properties (e.g., deadlock, race-condition,wrong and incomplete preconditions). Moreover, the toolset can alsogenerate the Java Modeling Language (JML) code that combines thecontractual models with the Java program for ensuring the consistencybetween model and code throughout the software development.

Özet

Bu makalede, endüstride sıklıkla kullanılan UML modelleme dilinden esinlenen SAMP adında yeni bir yazılım mimarisi modelleme dili önerilmektedir. SAMP ile, modellenen yazılım mimarileri, biçimsel yöntemler kullanılarak analiz edilebilir, ve sonrasında otomatik olarak koda dönüştürülebilir. SAMP, yazılım mimarilerinin gereksinim, mantıksal, davranışsal, ve fiziksel bakış açılarına göre ayrı ayrı modellenebilmesini desteklemektedir. Ayrıca, bir araç kümesi aracılığıyla, SAMP modelleri otomatik olarak ProMeLa biçimsel sınama dilinde modellere dönüştürülerek ProMeLa’yı destekleyen SPIN model sınayıcısıyla kapsamlı olarak analiz edilebilir ve kullanıcı-tanımlı ve önceden-tanımlı birçok özelliğin sağlanıp sağlanmadığı anlaşılabilir. Yine aynı araç desteği ile, analiz edilen modeller Java Modeling Language (JML) dilinde koda dönüştürülebilir. JML sayesinde, model ile Java kodunu bir arada yürütmek mümkün olup kodun modeli sağlayıp sağlamadığı JML’i destekleyen araçlar ile sürekli test edilebilir.

🔖

Cite This Article

ÖZKAYA, M. (2022). The General-Purpose Modeling, Analysis, and Implementation of Software Architectures. Havacılık ve Uzay Teknolojileri Dergisi, Cilt: 13 - Sayı: 2, 165–177. https://ajindex.com/articles/535191

📄 Full Text PDF Viewer

📄

PDF görüntüleyici hazırlanıyor...

References (15)

  1. J. E. Rumbaugh, I. Jacobson, and G. Booch, The unified modeling language reference manual, Addison- Wesley-Longman, 1999
  2. M. Ozkaya, “Analysing uml-based software modelling languages,” Journal of Aeronautics and Space Technologies, vol 11, pp. 119-134, July 2018
  3. M. Ozkaya, “The analysis of architectural languages for the needs of practitioners,” Softw., Pract. Exper., vol. 48, pp. 985-1018, January 2018
  4. B. Meyer, J.-M. Nerson, and M. Matsuo, Objectoriented design for software engineering. Lecture Notes in Computer Science, vol. 289, pp. 221-229. Springer, 1987
  5. G. T. Leavens, A. L. Baker, and C. Ruby, “Preliminary design of jml: A behavioral interface specification language for java,” SIGSOFT Softw. Eng. Notes, vol. 31, pp. 1-38, May 2006
  6. G. J. Holzmann, The SPIN Model Checker - primer and reference manual, Addison-Wesley, 2004
  7. R. Milner, J. Parrow, and D. Walker, “A calculus of mobile processes”, i. Inf. Comput., vol. 100, pp. 1-40, September 1992
  8. C. A. R. Hoare, “Communicating sequential processes,” Commun. ACM, vol. 21, pp. 666-677, August 1978
  9. A. van Deursen, P. Klint, and J. Visser, “Domainspecific languages: An annotated bibliography,” SIGPLAN Not., vol. 35, pp. 26-36, June 2000
  10. L. T. W. Agner, I. W. Soares, P. C. Stadzisz, and J. M. SimaO, “A brazilian survey on uml and model-driven practices for embedded software development,” J. Syst. Softw., vol. 86, pp. 997-1005, April 2013
  11. J. Hutchinson, J. Whittle, M. Rouncefield, and S. Kristoffersen, Empirical assessment of mde in industry. In Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, New York, NY, USA May 2011. pp. 471-480
  12. P. Chalin, J. R. Kiniry, G. T. Leavens, and E. Poll, Beyond assertions: advanced specification and verification with jml and esc/java2. In Proceedings of the 4th international conference on Formal Methods for Components and Objects, FMCO’05, Berlin, Heidelberg, Springer-Verlag., November 2006. pp. 342-363
  13. R. Behjati, T. Yue, L. Briand, and B. Selic, “Simpl: A product-line modeling methodology for families of integrated control systems,” Inf. Softw. Technol., vol. 55, pp. 607-629, March 2013
  14. A. K. Andreas Kraus and N. Koch, Model-driven generation of web applications in uwe. In Proceedings of the 3rd International Workshop on Model-Driven Web Engineering, MDWE2007, pp. 23-38. CEUR-WS, 2007
  15. P. H. Feiler, B. A. Lewis, and S. Vestal, The SAE architecture analysis & design la