Modelling of functional programming
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Rhodes University
Faculty of Science, Computer Science
Faculty of Science, Computer Science
Abstract
Effective system modeling is essential for understanding, communicating, and refining software architectures. While various notations exist for representing system structures, the modeling of typed functional systems remains underexplored. This research aimed to develop a structural modeling notation tailored to functional programming, integrating the Physics of Diagrams (PoD) framework to enhance clarity, usability, and cognitive effectiveness. The proposed notation was designed with a three-tiered structure to improve organization, distinguish graphical elements for perceptual discriminability, and novel symbols for representing key functional system relationships. The effectiveness of the notation was evaluated through a survey incorporating four case studies: (1) FParsec for parsing system representation, (2) Docutils for adaptability assessment in non-functional systems, (3) Pandoc for evaluating practical applicability, and (4) a symbol-level analysis to assess user comprehension. Results demonstrated that the notation improved clarity and usability, particularly in distinguishing definitions, subtypes, and dependencies. However, challenges were identified in representing invocation relationships and alternative pathways, necessitating further refinements. This study confirms that PoD principles provide a strong foundation for designing functional system notations but highlights the need for iterative enhancements. Future work should focus on refining specific notational elements, expanding empirical validation with a larger participant base, and exploring integrations with behavioral modeling to create a holistic notation for functional systems.