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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
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)
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
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)
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
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
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
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)
IEEE: 1516-2010 - IEEE Standard for Modeling and Simulation High Level Architecture (HLA). Technical report (2010). https://doi.org/10.1109/IEEESTD.2010.5553440
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
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)
Milner, R.: Communication and Concurrency. PHI Series in Computer Science. Prentice Hall (1989)
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
Prechelt, L., Malpohl, G., Philippsen, M.: Finding plagiarisms among a set of programs with JPlag. J. Univ. Comput. Sci. 8(11), 1016–1038 (2002)
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
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)
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)
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
Ullmann, J.R.: An Algorithm for Subgraph Isomorphism. Technical report 1 (1976). https://doi.org/10.1145/321921.321925
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
Z3Prover: z3: The Z3 Theorem Prover (2019). https://github.com/Z3Prover/z3
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)