Skip to main content

A Toolchain for Simulation Component Specification and Identification

  • Conference paper
  • First Online:
Software Architecture. ECSA 2022 Tracks and Workshops (ECSA 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13928))

Included in the following conference series:

  • 310 Accesses

Abstract

Reusing a simulation or parts of it is difficult, because simulations are tightly coupled to a specific domain or even to the analysed system. In a set of simulation components, either publicly available or from internal repositories, it is difficult for simulation developers to find simulation components that can be reused in a new context. They have to understand the structure and the behaviour of a component to determine, whether it fits for the new context. To address this problem, we introduce our toolchain that allows simulation developers to specify the structure and behaviour of a simulation component. We utilise a state-of-the-art graph database and an SMT theorem prover to compare a simulation components. This allows simulation developers to compare and search for simulation components that can be reused instead of being redeveloped.

This work was funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project number 499241390 (FeCoMASS) and by the Federal Ministry of Education and Research (BMBF) under the funding number 01IS18067D (RESPOND).

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 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.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.

    https://www.eclipse.org/modeling/emf/.

  2. 2.

    https://neo4j.com/.

  3. 3.

    https://smtlib.cs.uiowa.edu/.

  4. 4.

    https://www.microsoft.com/en-us/research/project/z3-3/.

  5. 5.

    https://github.com/Z3Prover/z3.

References

  1. Ahadi, A., Mathieson, L.: A comparison of three popular source code similarity tools for detecting student plagiarism. In: ACM International Conference Proceeding Series, pp. 112–117. Association for Computing Machinery (2019). https://doi.org/10.1145/3286960.3286974

  2. Balsamo, S., Marzolla, M.: Simulation modeling of UML software architectures. In: 17th European Simulation Mulitconference, vol. 3, pp. 562–567. Society for Modelling and Simulation International, SCS European Publishing House (2003)

    Google Scholar 

  3. Blockwitz, T., et al.: Functional mockup interface 2.0: the standard for tool independent exchange of simulation models. In: Proceedings of the 9th International MODELICA Conference, 3–5 September 2012, Munich, Germany, vol. 76, pp. 173–184 (2012). https://doi.org/10.3384/ecp12076173

  4. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8, 244–263 (1983)

    Article  MATH  Google Scholar 

  5. Cordio, S.: csb/neo4j-plugins/subgraph-isomorphism at master \(\cdot \) msstate-dasi/csb. https://github.com/msstate-dasi/csb/tree/master/neo4j-plugins/subgraph-isomorphism. Accessed 01 July 2022

  6. Falcone, A., Garro, A.: Distributed co-simulation of complex engineered systems by combining the high level architecture and functional mock-up interface. Simul. Model. Pract. Theory 97, 101967 (2019). https://doi.org/10.1016/j.simpat.2019.101967. https://www.sciencedirect.com/science/article/pii/S1569190X19301005

  7. Gitchell, D., Tran, N.: Sim: a utility for detecting similarity in computer programs. SIGCSE Bull. 31(1), 266–270 (1999). https://doi.org/10.1145/384266.299783

    Article  Google Scholar 

  8. Heinrich, R., Strittmatter, M., Reussner, R.: A layered reference architecture for metamodels to tailor quality modeling and analysis. IEEE Trans. Softw. Eng. 47, 26 (2019)

    Google Scholar 

  9. IEEE: 1516-2010 - IEEE Standard for Modeling and Simulation High Level Architecture (HLA). Technical report (2010). https://doi.org/10.1109/IEEESTD.2010.5553440

  10. Koch, S., Hamann, E., Heinrich, R., Reussner, R.: Feature-based investigation of simulation structure and behaviour. In: Gerostathopoulos, I., Lewis, G., Batista, T., Bureš, T. (eds.) European Conference on Software Architecture, pp. 178–185. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-16697-6_13

    Chapter  Google Scholar 

  11. Maoz, S., et al.: OCL framework to verify extra-functional properties in component and connector models. In: 3rd International Workshop on Executable Modeling, Austin, p. 7. CEUR, RWTH Aachen (2017)

    Google Scholar 

  12. Milner, R.: Communication and Concurrency. PHI Series in Computer Science. Prentice Hall (1989)

    Google Scholar 

  13. Overstreet, C., Nance, R.: A specification language to assist in analysis of discrete event simulation models. Commun. ACM 28, 190–201 (1985). https://doi.org/10.1145/2786.2792

    Article  Google Scholar 

  14. Prechelt, L., Malpohl, G., Philippsen, M.: Finding plagiarisms among a set of programs with JPlag. J. Univ. Comput. Sci. 8(11), 1016–1038 (2002)

    Google Scholar 

  15. Richters, M., Gogolla, M.: Validating UML models and OCL constraints. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 265–277. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-40011-7_19

    Chapter  Google Scholar 

  16. Ringert, J.O., Rumpe, B.: A little synopsis on streams, stream processing functions, and state-based stream processing. Int. J. Softw. Inform. 5, 29–53 (2011)

    Google Scholar 

  17. Schleimer, S., Wilkerson, D.S., Aiken, A.: Winnowing: local algorithms for document fingerprinting. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 76–85 (2003)

    Google Scholar 

  18. Talcott, C., et al.: Composition of languages, models, and analyses. In: Heinrich, R., Durán, F., Talcott, C., Zschaler, S. (eds.) Composing Model-Based Analysis Tools, pp. 45–70. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-81915-6_4

    Chapter  Google Scholar 

  19. Ullmann, J.R.: An Algorithm for Subgraph Isomorphism. Technical report 1 (1976). https://doi.org/10.1145/321921.321925

  20. Varga, A.: Omnet++. In: Wehrle, K., Güneş, M., Gross, J. (eds.) Modeling and Tools for Network Simulation, pp. 35–59. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12331-3_3

    Chapter  Google Scholar 

  21. Z3Prover: z3: The Z3 Theorem Prover (2019). https://github.com/Z3Prover/z3

  22. Zeigler, B.P., Prähofer, H., Kim, T.G.: Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems, 2 edn. Academic Press, San Diego (2000). http://www.gbv.de/dms/goettingen/302567488.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sandro Koch .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Koch, S., Reiche, F. (2023). A Toolchain for Simulation Component Specification and Identification. In: Batista, T., Bureš, T., Raibulet, C., Muccini, H. (eds) Software Architecture. ECSA 2022 Tracks and Workshops. ECSA 2022. Lecture Notes in Computer Science, vol 13928. Springer, Cham. https://doi.org/10.1007/978-3-031-36889-9_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-36889-9_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-36888-2

  • Online ISBN: 978-3-031-36889-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics