This thesis is about a journey in the world of interaction and coordination, going from meta-models to systems and back. The background context of the journey is the engineering of complex software systems in terms of agent societies, which characterise the state of the art. This paradigm is based on the notion of agent and systems of interacting agents as fundamental abstractions for designing, developing and managing at runtime complex software systems, typically distributed. The engineering of interaction, i.e. coordination, is a fundamental issue for designing and building systems providing effectively their overall functionalities, achieving the objectives designed by engineers.

Typically, research approaches conceive agent societies uniformly composed by agents as the only abstraction, according the the motto everything is an agent. At the center of this journey there is, instead, a vision according to which a fundamental element of agent societies are coordination artifacts, as persistent entities which agents (and humans) can suitably share and use to support their social (cooperative, competitive) activities. Coordination artifacts can be conceived then as general purpose and fully customisable services provided by the underlying infrastructure to govern the complexity of the coordination involved in these activities. As in our society engineers design and build infrastructural support for human activities, analogously this thesis explores the design and the development of coordinative and cooperative working environments in terms of coordination artifacts, suitable for engineering and supporting dynamically agent collective activities, and then the overall functionalities and ob jectives of the software systems they represent. The coordination artifact abstraction in part of wider conceptual and engineering framework, which is inspired by previous research developed in the context of coordination models and languages, and by Activity Theory, a socio-psychological theory investigating the characteristics of human activities, applied in particular in the context of collective / cooperating working environments.

The thesis is structured as follows: first, the background context of agent based software engineering and the role of coordination as an engineering dimension is briefly discussed, along with the challenges and the open issues. Then, the basic coordination artifact conceptual framework is presented; the framework is then used to drive the extension and the engineering of ReSpecT tuple centre and TuCSoN, taken as coordination artifact model and infrastructure. Finally, some classes of complex software systems are considered and engineered upon TuCSoN coordination infrastructure, namely: distributed workflow management systems for Virtual Enterprises, a case study in smart environments and the orchestration of services in service-oriented architectures.