Amorphous subsystem processing in formal software

People like Alexander Stepanov and Sean Parent vote for a formal and abstract approach to software development. The idea is to break down complex systems into a directed acyclic graph and hide the cyclic behavior at the nodes representing this behavior.
The parent gave presentations in boost-con and google ( sheets from boost-con, p. 24 introduce the approach, there is also a video in the google conversation).

Although I like the approach and consider it a necessary development, I had a problem with the idea of ​​how to handle subsystems with amorphous behavior.
Imagine, for example, a general pattern for state machines: using an interface that all states support and have different behavior in specific implementations for states.

How to solve this?
Please note that I'm just looking for an abstract approach.

I can think of hiding this behavior behind the node and defining different sub-DAGs for states, but this makes the design very complicated if you want to influence the behavior of the main DAG from the sub-DAG.

+3
source share
1

. .

" ", , , ( " " ). , ? ?

.

Stream X-Machines:

... X- , , , X → X....

Stream X-Machine Eilenberg's ,

X = Out * × Mem × In *,

In * - , Out * - , Mem - () .

, , , . , , . X-Machines, . " " Florentin Ipate , , ....

, . , , X-Machines. , , , .

,

//, -, : Peopleware ( ), Software Engineering ( ), .

, ( , , , ):

/ , .

+1

Source: https://habr.com/ru/post/1720625/


All Articles