Unified Modelling Language
This is a collection tools and papers that I found interesting, related to UML generally:
Links
- Excalidraw Online Whiteboard - Excalidraw is a free online whiteboard, that allows the exporting of whiteboards as .png files, and real-time collaboration. It's a great tool when no other specialised diagramming software is available. It's also available as an extension within VSCode.
- Mermaid Diagramming Tool - Mermaid is a free tool that allows the creation of diagrams using a simple markdown-like syntax. There's extensions to visualise in VSCode, and some markdown renderes will render it in markdown files too, such as the one used by Github.
- Gliffy Diagramming Tools - Gliffy was developed by Atlassian so it has compatibility-driven elements to work with other Atlassian products.
- Umbrello Diagramming Tools - Umbrello is centred on UML diagrams, and is free to use.
- Visio Diagramming Tools - Visio was developed by Microsoft so it has compatibility-driven elements to work with other Microsoft products.
- Visual Paradigm Diagramming Tools - Visual Paradigm includes built in UML diagramming tools as part of it's DevOps tool suite.
Mermaid Syntax
An example of mermaid syntax and render.
Papers
This a collection of papers related to UML that I wanted to archive.
- Chanda J., Kanjilal, A., Sengupta, S. & Bhattacharya, S. (2009) 'Traceability of requirements and consistency verification of UML use case, activity and class diagrams: A Formal approach'. 2019 Proceeding of International Conference on Methods and Models in Computer Science (ICM2CS). New Delhi, India, 2009. New York: IEEE. 1-4. DOI. - Chanda et al. formalise certain types of UML diagrams, by encapsulating their structure using formal grammar. Foreseen applications include verification systems during the software development life cycle.
- Lange, C., Chaudron, M. & Muskens, J. (2006) In practise: UML software architecture and design description. IEEE Software. 23(2): 40-46. DOI. - Lange et al. investigate how UML is used in practise, outline some problems connected to it, and suggest possible improvements for it.
- Mkhinini, M., Labbani-Narsis, O. & Nicolle, C. (2020) Combining UML and ontology: An exploratory survey. Computer Science Review. 35(1): 100223. DOI. - Mkhinini conduct a systematic literature review (SLR) of research on both object-oriented modelling and semantic modelling, classifying literature while investigating the relationship between the two disciplines.
- Rumbaugh, J., Jacobson, I. & Booch, G. (1999) The Unified Modelling Language reference Manual. Addison-Wesley. ISBN: 978-0-321-24562-5 - Rumbaugh et al. prescribe the rules and terminology for UML.
- Siau, K. & Lee, L. (2004) Are use case and class diagrams complementary in requirements analysis? An experimental study on use case and class diagrams in UML. Requirements Engineering 9(4): 229-237. DOI. - Siau and Lee explore the usefuleness of use case diagrams, and class diagrams, by drawing on models and experimental techniques from cognitive psychology.
End of Module Reflection
From the reference list above, Mkhinini et al's paper is particularly significant to me, as it introduced me to SLR's which is something I'd like to do in the future. I've been curious about ontologies too, so that paper helped me navigate the domain a little. Learning about metamodels later on in the module has helped me distinguish UML as a modelling language, not just a suite of diagrams. It also connected the concept of a modelling language to ontologies which I think is pivotable. A research focus on modelling languages would be fulfilling if I wanted to follow my curiosity with ontology, while being practical.
With regards to UML; the experience I gained designing object-oriented software using UML diagrams could be helpful professionally. UML is a widely adopted tool of the industry, therefore it makes sense to be familar with it. I personally appreciate class, state and activity diagrams the most because I found them useful as reasoning devices too, not just communicative structures.
With regards to the general notion of modelling, I'm finding models to be a highly useful construct for piecing together a critical worldview. I have gained a deep appreciation of their role in science, engineering and general strategizing. That appreciation is partially for the encapsulation they provide for discourse, but also because of the intriguing structures they have, or belong too. I look forward to learning about more for sure, and I am considering trying to catalog models from a singular domain as a side project.
bg22514@essex.ac.uk