architecture describes components at an abstract level, while leaving their
implementation details unspecified. Some components may be modeled,
prototyped, or elaborated at lower levels of abstraction, if, for example,
analysis reveals a risk that the functions to be performed by such elaborated