Bibliographic Details
| Title: |
Designing Concurrent and Distributed Control Systems. |
| Authors: |
Aarsten, amund1 amund@polito.it, Brugali, Davide1 brugali@polito.it, Menga, Giuseppe2 menga@polito.it |
| Source: |
Communications of the ACM. Oct96, Vol. 39 Issue 10, p50-58. 9p. 7 Charts. |
| Subjects: |
Distributed operating systems (Computers), Programming languages, Pattern recognition systems, Computer architecture, Systems design, Software engineering |
| Abstract: |
The article discusses the design of a concurrent and distributed control system. The approach described in this article is based on the concept of patterns and pattern language. The G++ pattern language addresses the problem of designing large software control systems, made up of layers of concurrent control modules installed on a distributed computer architecture by following an evolutionary development process that derives the final implementation from a prototype of the logical design. The language is derived from the "divide and conquer" paradigm and deals with issues such as the organization of control modules in a hierarchy of inclusion and use relationships, and the visibility requirements between the control modules, concurrency, and distribution. The article presents a summary of the G++ pattern language for concurrent and distributed systems, the result of experience acquired from real-world projects over the last 10 years. The existence of design patterns is often very valuable for solving isolated design problems. A domain-specific pattern language does the same to a whole development project. Typically, engineers without experience with object-oriented programming or concurrent/distributed systems are able to develop systems of significant complexity after a period of three months. |
| Database: |
Engineering Source |