The “Future Internet” software will be the critical infrastructure on which all other critical infrastructures will depend. The technological developments that are realized (including developments for realizing the Internet of Services, the Internet of Things, the Mobile Internet, Cloud Computing and other new software delivery platforms) are changing the dynamics of the software industry and posing new requirements and opportunities for improving Europe’s competitive position in software. It is also stated that in order to give their full power, software technologies have to be embedded in an object or a device, providing intelligence to the system. A transition from the ‘intelligent design’ approach, which currently rules software engineering to meta-design approaches as well as self-combining software systems has to be realised. Approaches have to take into account the inability of software engineers to foresee all possible situations that systems, connected to the open physical world, have to face. And therefore focus is given on the design of software components that have the ability to collaborate in an autonomous and decentralized fashion.
Key recommendations include the support to the effort that by 2020, software intensive real time systems should be executable on shared hardware and easily connectable to the outside world. As stated in NESSI position paper about the “Strategic Research and Innovation Agenda”, it is envisaged that open programmable networks will enable eco-systems offering a plethora of innovation opportunities for software industry as well as SMEs – new high-quality services and revenue streams can be introduced more quickly and at lower risk while keeping the network reliable and secure and improving its utilization and operational efficiency.
The design and deployment of Highly Distributed Applications (HDAs) raises a number of challenges including:
• the deployment over heterogeneous infrastructures,
• the support of scalability, high performance and resilience to failure,
• the support of end-to-end security solutions
• the need for programmability of the infrastructural resources.
In particular, infrastructural heterogeneity refers to the diversity of the programming frameworks that are employed and the physical/virtualized execution environments that are utilized for the HDA deployment. Such a diverse ecosystem has led to a “configuration-hell”, that is enlarged taking into account that most of the resources of an HDA environment, including (but not limited to) application servers, operating systems, IaaS stacks, firewalls, and switching/routing elements are programmable.
As far as security characteristics and functionalities are concerned, there are a lot of open issues related to data confidentiality, legal and regulatory compliance, trust, confidentiality, legal redress etc.