Article Preview
TopServices And Programs
In the following we consider a service as a set of manifestations of external events that, if compliant to what agreed upon in a formal specification, can be considered by a watcher as being “correct”. Moreover we refer to a program as a physical entity, stored as voltage values in a set of memory cells, which is supposed to drive the production of a service. Goal of software engineering is being able to set up of a robust homomorphism between a service’s high-level specification and a low-level computer design (the program).
More formally, we say that for some functions f and g,
Service = f (program), program = g (specification),
Service = g · f (specification).
Building robust versions of f and g is commonly a very difficult job.
We now concentrate on the range of g (the software set) and for any two systems a and b, if a relies on b to provide its service, we say
a →
b.