Structures of Computing explains the behavioral meaning of fundamental concepts of computing from a practical viewpoint and in generic terms, unrestricted by specific computing devices or programming languages. To compute is understood as processing structures by a set of cooperating agents each of which executes an algorithm assigned to it and interacts with the other agents. Part I of the book defines the conceptual constituents of interactive processes: (i) data, i.e. structured objects with associated properties, relations and functions the algorithmic processes operate upon, (ii) basic operations that affect the data in single execution steps, and (iii) control mechanisms that determine the combination of single steps in multi-agent computations where the interaction happens via communication or other forms of data sharing. Part II analyses these constituents concerning (i) methods to achieve process correctness (inspection, experimental validation, reasoning), (ii) principal computational paradigms (architectures, programming styles, communication structures, control patterns from sequential and reflective to concurrent, mixed synchronous/asynchronous and data flow control), |