Abstract
Diagramming tools range from manual free-form drawing tools to pre-programmed notation specific tools for UML or SDL, and further to fully programmatic tools like Pic or TikZ. In such tools, the diagrams are the end product, not available for further use, unaware of relations between diagrams or the ability to express one diagram as a function of another. We propose a new kind of tool based on programmable active diagrams, where diagrams are active entities to be operated upon and connected to systems they depict. Our tool, Skeblle, implements this approach for box-line diagrams. In Skeblle, every diagram drawn by a user is backed by a graph, and both the diagram and the underlying graph can be manipulated manually or with a command language. Manipulations of the graph are reflected in the diagram and vice versa, and the graph can link real systems to diagram nodes via urls. In combination, these facilities give us a novel tool that feels like a simple diagramming tool, but is capable of creating diagrams that better capture the domain they represent. Diagrams can change to reflect changes in systems they depict, and may be operated upon to compute related diagrams.
We describe how Skeblle may be used to draw software deployment and architecture diagrams, explain distributed protocols, and visualize chemical reactions. We show that Skeblle makes it simple to compute diagrams to illustrate differences in system states due to component failures, data flows, and chemical interactions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A portmanteau of Sketch and Bubble.
References
Chemtube3d. http://www.chemtube3d.com
Microsoft Visio. http://en.wikipedia.org/wiki/Microsoft_Visio
PGF/TikZ. http://en.wikipedia.org/wiki/TikZ
PlantUML tool. http://plantuml.sourceforge.net/
Quotient set. http://en.wikipedia.org/wiki/Quotient_set
Brandes, U., Eiglsperger, M., Lerner, J., Pich, C.: Graph markup language (GraphML) (2013)
Ellson, J., Gansner, E.R., Koutsofios, L., North, S.C., Woodhull, G.: Graphviz - open source graph drawing tools. In: Mutzel, P., Jünger, M., Leipert, S. (eds.) GD 2001. LNCS, vol. 2265, pp. 483–484. Springer, Heidelberg (2002)
Gerhauser, M., Valentin, B., Wassermann, A.: JSXGraph-dynamic mathematics with javascript. Int. J. Technol. Math. Educ. 17(4), 211–215 (2010)
Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using groove. STTT 14(1), 15–40 (2012)
Heinzelman, W.R., Chandrakasan, A., Balakrishnan, H.: Energy-efficient communication protocol for wireless microsensor networks. In: HICSS (2000)
Hunter, J.D.: Matplotlib: a 2D graphics environment. Comput. Sci. Eng. 9(3), 90–95 (2007)
Jakumeit, E., Buchwald, S., Kroll, M.: GrGen.NET - the expressive, convenient and fast graph rewrite system. STTT 12(3–4), 263–271 (2010)
Jakumeit, E., Buchwald, S., Wagelaar, D., Dan, L., Hegedüs, Á., Herrmannsdörfer, M., Horn, T., Kalnina, E., Krause, C., Lano, K., Lepper, M., Rensink, A., Rose, L., Wätzol, S.: A survey and comparison of transformation tools based on the transformation tool contest. Sci. Comput. Program. 85, 41–99 (2013)
Kernighan, B.W.: Pic-a language for typesetting graphics. Softw. Pract. Exper. 12(1), 1–21 (1982)
Luthra, C., Mittal, D.: Firebug 1.5: Editing, Debugging, and Monitoring Web Pages. Packt Publishing, New Delhi (2010)
Pietriga, E.: Graph style sheets in IsaViz (2001). http://www.w3.org/2001/11/IsaViz/gss/gssmanual.html
Sefika, M., Sane, A., Campbell, R.H.:Architecture-oriented visualization. In: ACM SIGPLAN Notice, vol. 31, pp. 398–405. ACM (1996)
Sefika, M., Sane, A., Campbell, R.H.: Monitoring compliance of a software system with its high-level design models. In: Proceedings of the 18th International Conference on Software Engineering, pp. 387–396. IEEE Computer Society (1996)
Vlissides, J.M., Linton, M.A.: Unidraw: a framework for building domain-specific graphical editors. ACM Trans. Inf. Syst. 8(3), 237–268 (1990)
Acknowledgments
We thank our colleagues at Yahoo for their support of this work, and the JSXGraph [8] team for their library.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sunkara, V.K., Sane, A. (2015). Skeblle: A New Kind of Diagramming Tool with Programmable Active Diagrams. In: Voronkov, A., Virbitskaite, I. (eds) Perspectives of System Informatics. PSI 2014. Lecture Notes in Computer Science(), vol 8974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46823-4_23
Download citation
DOI: https://doi.org/10.1007/978-3-662-46823-4_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46822-7
Online ISBN: 978-3-662-46823-4
eBook Packages: Computer ScienceComputer Science (R0)