A context can be further detailed by indicating explicitly which component controls a shared phenomenon, which component constitutes the machine we need to build, and which components are affected by which requirements. The resulting diagram is called a problem diagram (Jackson, 2001).