General Introduction

 

As companies attempt to integrate their business and IT strategies using the power of modern Information Technology, they recognise, more and more, the need for architectural infrastructures, re-engineering techniques and methodological solutions that can deliver Business and Technology-Reactive Information Systems.

Capitalizing on many years of experience in applications and technical architectures for the financial area, we have conceived and put into practice a Systems Engineering Methodology that facilitates the development and re-engineering of software systems in ways that endow them with the levels of dynamic reconfigurability that are required to make them reactive to evolution in Business and Technology.

This methodology is grounded on a particular separation of concerns, namely between "computation" (the mechanisms through which the functionality of services is ensured at the local level of the components of the system) and "coordination" (the mechanisms through which interactions between components can be established so that the global properties that are required of the system can emerge from the local computations and the interconnections established between them).

The rationale for this separation, inspired by the work started in the early 90s around what are known as "Coordination Languages and Models", was the realisation that it reflects the existence of two different rates of change in most business domains, namely the fact that the services provided by the core business entities, which reflect "business invariants", are much less volatile than the business rules that determine how they should be used in the applications that the organisation offers in its business portfolio. By separating coordination from computation, we are able to externalise and make first-class citizens the business rules with which the organisation operates, and allow them to evolve in a way that is non-intrusive on the implementation of the core components of the system.

The proposed methodology is supported by a number of semantic primitives that can be used in conjunction with one's favourite Modelling Approach or Programming Language. At its core is the notion of Coordination Contract, a modelling primitive with the expressive power of connectors as known in Software Architectures, and through which interactions can be dynamically superposed over system components without interfering with their implementation. The Coordination Development Environment (CDE) that we are making freely available supports the use of coordination contracts for Java applications.

These pages make available documentation both on the use of the CDE and the methodology that it supports. More general information, including downloadable publications, can be found at the website of ATX.

Any comments and reports on bugs found on the CDE or its documentation are most welcome and can be sent to cde@atxsoftware.com. Please consider subscribing the mailing list to receive first-hand news on updates to the CDE and developments on the metodological and technological aspects. 

We hope you will enjoy using the CDE and find coordination contracts both fun and useful for your work!

 

The CDE Team




Java is a trademark of Sun Microsystems, Inc. Windows is a trademark of Microsoft Corporation. All other trademarks mentioned herein belong to their respective owners.






© Copyright 2001 ATX Software SA. All rights reserved.