warning: open ended question.
I want to learn more about how topics in mathematics (especially group theory, graph theory, algebraic structures) connects different ideas that we use for systems engineering.
For example: Writing a loop in a program, if the input and output of the loop have a 1:1 correspondence, it can be regarded as a bijective function. This is obvious to the mathematically inclined, but from the software engineering side, the concept is foreign.
lamba calculus gives the essence of functional programming, which again gives the pre-requisites for providing mathematical proofs about the fundamental properties of your program. This is used by (ada)SPARK for aerospace requirements.
In digital hardware design we use recurrence relations/difference equations for functions, and state machines for, well, stateful behavior. But there is no grand theory of how to best design these.
Some might say "physics" But that is not excactly what I am after (currently doing a PhD in a physics department though) Physics uses the tools of mathematics to predict nature. I want to use these tools to improve the design of systems.
This is why I'm self-learned in functional programming, know some abstract algebra. Ideally, I would want to find or develop a mathematical framework that lets everyone communicate more concisely about what they want their system to do and how it should be done. Some sort of addon to the already existing jargon, to allow for quicker design, faster problem discovery, and greater ease in seeing the scope of designs (sorry for the hand-wavy description, but I feel like I am fumbling in the dark).
This is really just me asking for pointers. Articles, Books, Blogs. Anything. Because as I'm searching, I don't seem to find any good generalizations. What I do find, however, is a lot of good advice on very specific problems.
I personally image a system, where one could take the abstract concept of the system (the block diagram), and do some actual math on it. This you can do on electrical circuits, using linear algebra, and with some practice, it is quicker than simulations. However on a block diagram, the nodes and vertices can have different types, there are no laws governing anything. But I have the vague feeling, that there might be some algebraic structure, which if found, can be used to great advantage, when going from system concept to architecture, and when going from architecture to implementation. My hopes would be that this structure would be able to show the strengths and weaknesses of architectures. Maybe it is impossible. maybe I just want some magical stuff. But I do not know, so I ask. This write-down is a quick summary of about two years of me thinking about this on and off, at the same time as learning new concepts in maths, engineering and physics.