Computing concepts
Code and data
Code is generally rule as how to process data.
Wirth code
Static code. Run just as it is saved in ROM (or in punched card, or on manual switch panel). Can be protected with CPU. Reenterable. Can be used by many processors simultaneously.
von Neumann code
Self-modifying code. Behaves like live being. Can be poisoned or be (self)killed. Not reenterable. Cannot be used in multiprocessing. Can be saved from one data asset to other or can change. Heap fragmentation or memory leak can be considered as von Neumann behavior.
meta
Data persisting with code from one data asset to another should be considered as part of code. It is configuration.
Processing rules that arrive with data asset and that are not saved for further use can be considered as data (their meta).
Data collected with program run, but not affecting processing except for management purposes (to manage resource assignment or cease processing if quota exceeded) are to be considered as upper-level data beyond program run.
Transfers
Channel
Direct send data from source to destination. No storage other than buffers required.
* COM * TCP * HTTP
Sharing
Send link on shared resource. Of course - at beginning should be checked or assumed that source and destination has access to same shared resource. Data must be stored on shared media, at least virtually.
Sharing levels
* common RAM or some directly addressable register (share with address) * filesystem (share with filename) * network resource (share with UNC) * Internet (share with URL)