previous next trail start tutorial home feedback openwings.org

Architecture Description Language (ADL)

Architecture Description Language (ADL) provides a simple notation for describing service-oriented problems. By using ADL, developers can quickly define needed services, components, and deployments. ADL is intended to separate behaviors (service contracts) from implementations (components). ADL is composed of several simple constructs: components, roles, connectors, ports, and protocols (see Figure 1).

figure1.gif (3292 bytes)

Figure 1: ADL Notation

In our use of ADL, the provider is the component offering a service. The connector direction does not necessarily imply the direction of communications, but which components are providing and using the service. Depending on the protocol the service may be pushed or pulled from the service provider. The distinction of a service provider is important for other reasons. The connector direction indicates which component publishes the service (if discovery is used) and who enforces security (those with something to protect).

These components can be placed over a deployment diagram to show a specific deployment instance, as in Figure 2. This shows the mapping of components to platforms.

figure2.gif (5759 bytes)

Figure 2: Deployment Diagram

Typically, the design process should start with a problem model. Usually this consists of a context diagram and use cases. This provides a very high-level functional model of the requirements of the task. The developer must also consider constraining requirements, such as performance. Even though the solution may be oriented towards a particular problem and deployment, service-oriented programming is designed to allow these services to be reused in other environments.

Next: Service Oriented Programming Principles

back to top

Copyright 2002, General Dynamics Decision Systems. All rights reserved.

previous next trail start tutorial home feedback openwings.org