Speaker: Loris Penserini Seminar Title: An agent based framework for high variability design: dealing with code generation Abstract: In the era of networked applications within areas of eGovernament, Ambient Intelligence, Autonomic Systems, and Digital Business Ecosystems, software solutions have dramatically increased their complexity in respect to traditional applications. This trend directly reflects towards software engineering approaches that have to be flexible and suitable to cope with more complex software requirements. In this context, the challenging aspect is that stakeholder needs and preferences, as well as domain constraints often evolve away from the initial business requirements model of the system, reflecting the extremely heterogeneous and dynamic nature of networked users. Under such conditions, a deployed software solution needs to be able to adapt to environmental constraints at run-time in order to meet evolving user needs. This talk aims at illustrating principal achievements of two years of research in the direction of an agent-based software development framework to generate software solutions adaptable to stakeholder needs, supporting organisational networking as well as improving adaptability to rapidly changing market demands and customer requirements. In our work, we shape variability of agent behaviour at run-time, by correlating user preferences, expressed as goals models at design-time, to the agent?s goals and plan selection strategies. The main idea that pervades our approach is twofold. First, we adopt and extend an agent oriented software engineering methodology, Tropos, to characterize the agent model (say Goal-Model, GM) for architectural and functional requirements. Second, we perform a mapping process of the previous GM towards BDI agent languages. Such a framework also provides a novel approach to cope with software maintenance, where the modification of a software product after its delivery is extremely important in order to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment.