Skip to main content

Towards Model-Based Intent-Driven Adaptive Software

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 13036))

Included in the following conference series:

Abstract

Model-based software engineering plays an increasing role in system development. The abstractions offered by models provide a basis for tasks such as analysis, synthesis, and automated reasoning. However, like traditional software engineering, model-based engineering must also deal with challenges that arise during system evolution, including requirement changes and platform updates. This paper describes our vision for a model-based workflow for adaptive software that reduces the burden caused by evolution. Our vision includes a modeling paradigm centered around the concepts of objectives, intents, and constraints, which define, respectively, (1) what the system must do in terms of domain-specific abstractions, (2) the concretization choices made to refine a model into implementation, and (3) the system requirements not expressed in terms of domain-specific abstractions. We also discuss a vision of integrated program synthesis via refinement in a theorem prover.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This approach has been promoted by embedded and embeddable domain-specific languages [34], as practiced in the MPS toolsuite [35].

References

  1. Abadi, M., Lamport, L.: The existence of refinement mappings. J. Theo. Comput. Sci. 82(2), 253–284 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  2. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press (1996)

    Google Scholar 

  3. Bjørner, D.: Domain Engineering: Technology, Management, Research and Engineering. JAIST Press (2009)

    Google Scholar 

  4. Boßelmann, S., et al.: DIME: a programming-less modeling environment for web applications. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications, pp. 809–832. Springer, Cham (2016)

    Chapter  Google Scholar 

  5. Coglio, A.: Pop-refinement. Archive of Formal Proofs, July 2014. http://afp.sf.net/entries/Pop_Refinement.shtml, Formal proof development

  6. Coglio, A., Kaufmann, M., Smith, E.: A versatile, sound tool for simplifying definitions. In: Proceedings 14th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2017), pp. 61–77 (2017). https://doi.org/10.4204/EPTCS.249.5

  7. Coglio, A., Westfold, S.: Isomorphic data type transformations. In: Proceedings 16th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2020) (2020)

    Google Scholar 

  8. Crapo, A., Moitra, A., McMillan, C., Russell, D.: Requirements capture and analysis in assert(tm). In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. 283–291 (2017). https://doi.org/10.1109/RE.2017.54

  9. Dijkstra, E.W.: A constructive approach to the problem of program correctness. BIT 8(3), 174–186 (1968)

    Article  MATH  Google Scholar 

  10. Documentation, S.: Simulation and model-based design (2020). https://www.mathworks.com/products/simulink.html

  11. Fuentes-Fernández, L., Vallecillo-Moreno, A.: An introduction to UML profiles. UML Model Eng. 2(6–13), 72 (2004)

    Google Scholar 

  12. Heung, K.H.: A tool for generating UML diagram from source code (2013)

    Google Scholar 

  13. Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1(4), 271–281 (1972)

    Article  MATH  Google Scholar 

  14. Hunt, W.A., Jr., Kaufmann, M., Moore, J.S., Slobodova, A.: Industrial hardware and software verification with acl2. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 375(2104), 20150399 (2017)

    Article  Google Scholar 

  15. Jolak, R., Ho-Quang, T., Chaudron, M.R., Schiffelers, R.R.: Model-based software engineering: a multiple-case study on challenges and development efforts. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 213–223. MODELS 2018. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3239372.3239404

  16. Jones, C.: Systematic Software Development using VDM, 2nd edn. Prentice Hall (1990)

    Google Scholar 

  17. Kaufmann, M., Moore, J.S.: The ACL2 theorem prover. http://www.cs.utexas.edu/users/moore/acl2

  18. Kestrel Institute: APT (Automated Program Transformations). http://www.kestrel.edu/home/projects/apt

  19. Kestrel Institute: Specware. http://www.specware.org

  20. Maróti, M., et al.: Next generation (meta) modeling: web-and cloud-based collaborative tool infrastructure (2014)

    Google Scholar 

  21. Milner, R.: An algebraic definition of simulation between programs. Tech. Rep. CS-205, Stanford University (1971)

    Google Scholar 

  22. Morgan, C.: Programming from Specifications, 2nd edn. Prentice Hall (1998)

    Google Scholar 

  23. Nierstrasz, O., Achermann, F.: Supporting compositional styles for software evolution. In: Proceedings International Symposium on Principles of Software Evolution, pp. 14–22 (2000). https://doi.org/10.1109/ISPSE.2000.913216

  24. Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf (2013)

    Google Scholar 

  25. Roberts, R.D.: Why software really will eat the world-and whether we should worry. Independent Rev. 20(3), 365–368 (2016)

    Google Scholar 

  26. Rodriguez-Prieto, O., Mycroft, A., Ortin, F.: An efficient and scalable platform for java source code analysis using overlaid graph representations. IEEE Access 8, 72239–72260 (2020). https://doi.org/10.1109/ACCESS.2020.2987631

    Article  Google Scholar 

  27. Ronacher, A.: Jinja2 documentation. Welcome to Jinja2-Jinja2 Documentation (2.8-dev) (2008)

    Google Scholar 

  28. Sánchez-Gordón, M., Colomo-Palacios, R.: Characterizing DevOps culture: a systematic literature review. In: Stamelos, I., O’Connor, R.V., Rout, T., Dorling, A. (eds.) Software Process Improvement and Capability Determination, pp. 3–15. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00623-5_1

    Chapter  Google Scholar 

  29. Selic, B.: Personal reflections on automation, programming culture, and model-based software engineering. Autom. Softw. Eng. 15(3), 379–391 (2008)

    Article  Google Scholar 

  30. Smith, D.R.: KIDS: a semi-automatic program development system. IEEE Trans. Softw. Eng. Spec. Issue Formal Method. 16(9), 1024–1043 (1990)

    Article  Google Scholar 

  31. Smith, E.: Software Synthesis with ACL2. https://www.cs.utexas.edu/users/moore/acl2/workshop-2015/slides/eric-smith-synthesis/eric-smith-software-synthesis.pdf

  32. Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall (1992)

    Google Scholar 

  33. Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997). https://doi.org/10.1109/2.585163

    Article  Google Scholar 

  34. Voelter, M.: DSL Engineering: Designing, Implementing and Using Domain-specific Languages. CreateSpace Independent Publishing Platform (2013)

    Google Scholar 

  35. Voelter, M., Pech, V.: Language modularity with the MPS language workbench. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 1449–1450. IEEE (2012)

    Google Scholar 

  36. Wirth, N.: Program development by stepwise refinement. Commun. ACM 14(4), 221–227 (1971)

    Article  MATH  Google Scholar 

Download references

Acknowledgement

The work was supported by the DARPA and Air Force Research Laboratory. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of DARPA or AFRL.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gabor Karsai .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Balasubramanian, D., Coglio, A., Dubey, A., Karsai, G. (2021). Towards Model-Based Intent-Driven Adaptive Software. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. ISoLA 2021. Lecture Notes in Computer Science(), vol 13036. Springer, Cham. https://doi.org/10.1007/978-3-030-89159-6_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-89159-6_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-89158-9

  • Online ISBN: 978-3-030-89159-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics