Abstract
Numerous modeling languages have adapted a graphical syntax that emphasizes control flow or state rather than data flow. We here refer to these as state diagrams, which include classic control flow diagrams as well as for example Statecharts. State diagrams are usually considered to be fairly easy to comprehend and to facilitate the understanding of the general system behavior. However, finding data dependencies between concurrent activities can be difficult as these dependencies must be deduced by matching textual variable references.
We here investigate how to extract data flow information from state diagrams and how to make that information more accessible to the modeler. A key enabler is automatic layout, which allows to automatically create dynamic, customized views from a given model. To set the stage, we propose a taxonomy of state and data-flow based modeling and viewing approaches. We then compare traditional, static view approaches with dynamic views. We present implementation results based on the open-source Ptolemy and KIELER frameworks and the Eclipse Layout Kernel.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
André, C.: Computing SyncCharts reactions. Electr. Notes Theor. Comput. Sci 88, 3–19 (2004)
Brooks, C., Cheng, C.H.P., Feng, T.H., Lee, E.A., von Hanxleden, R.: Model engineering using multimodeling. In: Proceedings of the 1st International Workshop on Model Co-Evolution and Consistency Management (MCCM 2008), a Workshop at MODELS 2008, September 2008
Caspi, P., Pouzet, M.: Synchronous Kahn networks. In: Proceedings of the first ACM SIGPLAN International Conference on Functional Programming ICFP 1996, pp. 226–238 (1996)
Combemale, B., DeAntoni, J., Baudry, B., France, R.B., Jézéquel, J., Gray, J.: Globalizing modeling languages. Computer 47(6), 68–71 (2014)
Di Battista, G., Eades, P., Tamassia, R., Tollis, I.G.: Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, Upper Saddle River (1999)
Diehl, S.: Software Visualization: Visualizing the Structure, Behavior and Evolution of Software. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-46505-8
Feng, T.H., Lee, E.A., Liu, X., Motika, C., von Hanxleden, R., Zheng, H.: Finite state machines. In: Ptolemaeus, C. (ed.) System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org (2014)
Fuhrmann, H., von Hanxleden, R.: On the pragmatics of model-based design. In: Choppy, C., Sokolsky, O. (eds.) Monterey Workshop 2008. LNCS, vol. 6028, pp. 116–140. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12566-9_7
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)
Grundy, J.C., Hosking, J., Huh, J., Li, K.N.L.: Marama: An Eclipse meta-toolset for generating multi-view environments. In: Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), pp. 819–822. ACM (2008)
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)
von Hanxleden, R., Duderstadt, B., Motika, C., Smyth, S., Mendler, M., Aguado, J., Mercer, S., O’Brien, O.: SCCharts: sequentially constructive statecharts for safety-critical applications. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2014). ACM, June 2014
Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)
Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. (CSUR) 36(1), 1–34 (2004)
Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information Processing 74: Proceedings of the IFIP Congress 74, pp. 471–475. IFIP, North-Holland Publishing Co., August 1974
Klauske, L.K., Dziobek, C.: Improving modeling usability: automated layout generation for Simulink. In: Proceedings of the MathWorks Automotive Conference (MAC 2010) (2010)
Lee, E.A., Neuendorffer, S., Wirthlin, M.J.: Actor-oriented design of embedded hardware and software systems. J. Circ. Syst. Comput. 12(3), 231–260 (2003)
Petre, M.: Why looking isn’t always seeing: readership skills and graphical programming. Commun. ACM 38(6), 33–44 (1995)
von Pilgrim, J.: Mental map and model driven development. In: Layout of (Software) Engineering Diagrams 2007. Electronic Communications of the EASST, vol. 7 (2007)
Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation Using Ptolemy II. Ptolemy.org (2014). http://ptolemy.org/books/Systems
Reenskaug, T.: Models - Views - Controllers. Xerox PARC technical note, November 1979
Seffah, A., Gulliksen, J., Desmarais, M.C.: An introduction to human-centered software engineering. In: Seffah, A., Gulliksen, J., Desmarais, M.C. (eds.) An Introduction to Human-Centered Software Engineering-Integrating Usability in the Software Development Lifecycle. HCI, vol. 8, pp. 3–14. Springer, Netherlands (2005). https://doi.org/10.1007/1-4020-4113-6_1
Smyth, S., Lenga, S., von Hanxleden, R.: Model extraction for legacy C programs with SCCharts. Poster presented at the 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2016), Corfu, Greece, October 2016
Smyth, S., Motika, C., Schulz-Rosengarten, A., Wechselberg, N.B., Sprung, C., von Hanxleden, R.: SCCharts: the railway project report. Technical report 1510, Department of Computer Science, Christian-Albrechts-Universität zu Kiel, August 2015
Spönemann, M., Fuhrmann, H., von Hanxleden, R.: Automatic layout of data flow diagrams in KIELER and Ptolemy II. Technical report 0914, Department of Computer Science, Christian-Albrechts-Universität zu Kiel, July 2009
Sztipanovits, J., Bapty, T., Neema, S., Howard, L., Jackson, E.: OpenMETA: a model- and component-based design tool chain for cyber-physical systems. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) ETAPS 2014. LNCS, vol. 8415, pp. 235–248. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54848-2_16
Acknowledgements
We thank the participants of the 2008 and 2017 editions of the model railway project conducted at Kiel University for the SCADE and SCCharts models they contributed. We also thank the contributors to the open source projects such as Ptolemy, as well as KIELER, ELK, Xtext and numerous other Eclipse projects, that made this work possible.
This work has been supported in part by the German Science Foundation, as part of the Precision-Timed Synchronous Reactive Processing (PRETSY2, DFG HA 4407/6-2) and Compact Graph Drawing with Port Constraints (ComDraPor, DFG HA 4407/8-1) projects.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Wechselberg, N., Schulz-Rosengarten, A., Smyth, S., von Hanxleden, R. (2018). Augmenting State Models with Data Flow. In: Lohstroh, M., Derler, P., Sirjani, M. (eds) Principles of Modeling. Lecture Notes in Computer Science(), vol 10760. Springer, Cham. https://doi.org/10.1007/978-3-319-95246-8_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-95246-8_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-95245-1
Online ISBN: 978-3-319-95246-8
eBook Packages: Computer ScienceComputer Science (R0)