Skip to main content

Augmenting State Models with Data Flow

  • Chapter
  • First Online:
Principles of Modeling

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10760))

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.

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

    http://www.esterel-technologies.com/products/scade-suite.

  2. 2.

    https://de.mathworks.com/products/simulink.

  3. 3.

    https://www.ni.com/labview.

  4. 4.

    https://ptolemy.eecs.berkeley.edu/ptolemyII.

  5. 5.

    https://rtsys.informatik.uni-kiel.de/kieler.

  6. 6.

    http://www.sccharts.com.

  7. 7.

    https://www.eclipse.org/elk.

References

  1. André, C.: Computing SyncCharts reactions. Electr. Notes Theor. Comput. Sci 88, 3–19 (2004)

    Article  Google Scholar 

  2. 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

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Combemale, B., DeAntoni, J., Baudry, B., France, R.B., Jézéquel, J., Gray, J.: Globalizing modeling languages. Computer 47(6), 68–71 (2014)

    Article  Google Scholar 

  5. Di Battista, G., Eades, P., Tamassia, R., Tollis, I.G.: Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, Upper Saddle River (1999)

    MATH  Google Scholar 

  6. 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

    Book  MATH  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    MATH  Google Scholar 

  10. 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)

    Google Scholar 

  11. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)

    Article  Google Scholar 

  12. 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

    Google Scholar 

  13. Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  Google Scholar 

  14. Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. (CSUR) 36(1), 1–34 (2004)

    Article  Google Scholar 

  15. 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

    Google Scholar 

  16. Klauske, L.K., Dziobek, C.: Improving modeling usability: automated layout generation for Simulink. In: Proceedings of the MathWorks Automotive Conference (MAC 2010) (2010)

    Google Scholar 

  17. 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)

    Article  Google Scholar 

  18. Petre, M.: Why looking isn’t always seeing: readership skills and graphical programming. Commun. ACM 38(6), 33–44 (1995)

    Article  Google Scholar 

  19. von Pilgrim, J.: Mental map and model driven development. In: Layout of (Software) Engineering Diagrams 2007. Electronic Communications of the EASST, vol. 7 (2007)

    Google Scholar 

  20. Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation Using Ptolemy II. Ptolemy.org (2014). http://ptolemy.org/books/Systems

  21. Reenskaug, T.: Models - Views - Controllers. Xerox PARC technical note, November 1979

    Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Chapter  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Nis Wechselberg .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics