Service/Software Engineering
The demands and expectations from the future Internet will be many and diverse. Availability, adaptability, usability and easy access are among the principal expectations from the final user.
At the same time, competition amongst providers of services will drastically increase their needs to be able to deploy and deliver innovative services faster and more easily. The capability to effectively adapt very fast to different and rapidly changing user needs will be a key success driver in the Internet of Services.
As a consequence, given the paramount importance of flexibility, the practical feasibility of the Internet of Services will depend on overhauling software engineering to face new challenges. Software engineering has been greatly improving the effectiveness of systematically developing systems meeting very complex requirements. Under the various system lifecycle development models, the basic approaches are always relying on the fact that what the systems should do is known at design time.
This fundamental hypothesis is being revised in the world of the Internet of Services. The needs for fast adaptation and re-configuration driven both by context changes and contingent user needs mean that a lot of decisions that were taken at design time have to be made or changed dynamically at run-time, while being able to guarantee that the system still operates appropriately.
Flexibility and adaptability are addressed from different angles by the current FP7 projects in the area of software and services, with techniques for mastering the complexity stemming from distributed and context-driven changes.
The projects are also making strides in bringing development and change closer to the stakeholders, typically by bridging software engineering concepts with organisational concepts and real-world semantics. Service oriented architecture (SOA) is being established as a framework on which new development methods and techniques for service based systems are being elaborated.
Software Engineering to match compliance issues and organisational constraints
A major shortcoming in todayâ??s approach to the design of service-oriented systems is the lack of clear and effective technological means to realize, enforce, or validate various compliance concerns pertaining to business rules or more general regulations. Techniques for ensuring the compliance in SOA are developed by COMPAS.
Sound and strong interconnections between the socio-organizational aspects of a service based application and its actual implementation is needed to allow a more dynamic adaptation of the services to the organizational environment in which they run. This is addressed by the project ALIVE which considers the integration of organisational and coordination mechanisms used by enterprises with model driven engineering (MDE), thus easing the development and composition of services.
Semantics driven engineering process
Current model driven software development techniques rely on transformation of system models at different levels of abstraction â??corresponding to the main decisions taken during the development. Yet, automatic transformations are essentially limited to a syntactic level, and most of the design decisions have to be manually specified. Being able to capture more semantics, in a form suitable to be reasoned upon, would allow for more automatic support and guidance in this process. The MOST project is integrating ontology technology with model driven software development to enable the capture of more knowledge about software artefacts, and thus facilitate their evolution and (re-)use.
Engineering adaptive systems for improved quality of services
Context aware applications and services that can automatically adapt to changes in their environments are one of the expectations from the Internet of the Future. To build such systems, the running services and supporting platforms should be provided with reasoning capabilities that make them aware of the impact of their possible dynamic modifications in response to adaptation required by new, emergent features of the running-context. Managing dynamic variability and reconfiguration in adaptive systems at run-time through the combination of aspect-oriented and model-driven approaches is the goal of the DIVA project. One of the aims of the project is to provide well-tuned techniques for monitoring the Quality of Service (QoS) so to allow dynamic adaptation of the running system, and to maintain a constant and seamless match with respect to the required qualities.
Managing complexity and dependability
The complexity of managing the consistency of large systems whose components evolve in a distributed way and exist in multiple versions is a daunting problem. The project MANCOOSI is developing the theory, models, algorithms and tools to support the evolution of such systems.
Another problem is related to designing systems for which it is necessary to guarantee a certain quality of service (QoS). Q-IMPRESS aims at enabling service orientation for critical systems by creating a tool supported quality-driven software development method which allows to perform what-if analyses during software evolution. Within the project approach, developers shall be able to foresee the impact of software design decisions and maintenance actions on the QoS, so to assure predictable end-to-end quality.
Dependability in large, complex systems, is increasingly important as they support more and more mission critical uses. Complementary approaches are used for ensuring reliability: appropriate testing strategies, and formal methods.
The project PROTEST is developing software engineering approaches for automating fault-finding and diagnosis. The project DEPLOY aims at making major advances in formal methods that can be realistically deployed in a wide range of systems development.
This page is maintained by: Sabine Posdziech
