Modeling on Black/White-boxes, and Abstract Level

The concept of black/white-boxes

The term black-box is usually referred to a device, object or system[1]. The concept of black/white-boxes implies an assumption, that is, the view or description of a system under study [2] is able to be separated into outer or inner aspects. The outer aspect involves such as functions, behaviors, or characteristics, and the inner aspect may involve into structure, composition, processes, etc.

Definition of black-box models and white-box models

Black-box and white-box is a pair of relative concepts. For black-boxes, there is an input, output and processing pattern in many discussions. To software and application, however, it seems suggesting the structured programming strongly — I don’ t know whether it is the cause to that, the concept seems to be ignored in the field in a certain extent — today, it may need to be defined more carefully.

My recent interest in this concept is focus on that, it is a basic perspective for modeling (of software and application). It would be led two different models for the same system, they are called as ‘black-box models’ and ‘white-box models’ in my last essay. A black-box model is taken from an external perspective, to represent the functions and behaviors in the environment, it is a view of use; relatively, a white-box model describe the internal structure, it is a view of constructing. It perhaps can still be attributed to the distinction about what and how, but I think, this is different from some common views, such as declarative, descriptive or specifications, and executive, procedural or instructions, and the concept of granularity, even the concept of abstract level.

Relationship of black-box models from using view and white-box models at different abstract levels

We can also see the concept of black/white-boxes as a principle to reduce the details in a model, but this principle is different from all the principles that served at each abstract level of software (computing).

From a using view in a context of an application (application environment), all the models at different abstract level of software is a white-box model, though it may be ignored many of the details on a higher abstract level. It never be black unless changing the perspective of view. In other words, the black-box models are out of the range of the abstract hierarchy based on software.

This is an intimation that, for a software application system, we would need/have two kind of models: a black-box model from the using view and white-box model from the view of implementation of software.

A triangle of relationships among application system and black/white-box model

As stated above, the relationships among the black-box model and the white-box model with the system, form a triangle, shown in the figure 1. It presented three basic relationships in software development and application:

  • system to black-box model(s)
  • black-box model to white-box model(s)
  • white-box model to system

It may be a basis to develop some architecture for software and application systems.


[1] See the Wikipedia entry: black box. Certainly, ‘system’ is the most appropriate word to talk this topic, in general.

[2] This usage takes from Seidewitz (2003) What do models mean.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.