Current and future challenges of software engineering for services and applications

14
Current and Future Challenges of Software Engineering for Services and Dr. Sotiris Koussouris [email protected] National Technical University of Athens, DSSLab SE4SA-Cluster on Software Engineering for Services and Applications

Transcript of Current and future challenges of software engineering for services and applications

Current and Future Challenges of

Software Engineering for Services and

Applications

Dr. Sotiris [email protected]

National Technical University of Athens, DSSLabSE4SA-Cluster on Software Engineering for Services and Applications

SE4SA-Cluster on Software Engineering for Services and Applications • Aligned• AppHub• ARCADIA• Artist• CloudTeams• CloudWave• DICE• ENTICE• Envisage

• HyVar• MODAClouds• MONDO• Prowess• RISCOSS• SeaClouds• S-CASE• Supersede• SWITCH• U-QASAR

http://bit.ly/se4saeu

Software is the Fifth Element of ICT

Process, Methodologies And Productivity• Enable controlled management of short development cycles• Software measured in terms of other qualities (usability, reliability, scalability)• Easily gather user feedback and monitoring information • Shift deployment decisions &resource management to the design phase • Infrastructure-as-a-code approaches• Efficient use of resources, easy deployment decisions, and automated placement and orchestration for SMEs

Application Contexts (for CPS and IoT)• New models, methods and design tools for IoT/CPS-enabled applications going beyond formal methods • Abstractions and formalisms for constructing and reasoning about systems with diverse and more difficult-to-characterize components• New methods for Software Adaptability, Scalability and Maintainability (not  envisaged at  design  time)• Runtime adaptation of Software Quality Assurance in large scale open CPS environments • Software-awareness of hardware ensuring web-scale performance, flexibility & agility

Design Patterns Development For A Systems Of Systems Approach

• New patterns at the architectural level describing the obligations/constraints and real-time behavior to be fulfilled by the systems

• Frame of references, unifying lexicons, visualisations, design architecture and interoperability, modelling languages, simulation and analysis.

Quality Guarantees• Increase the anti-fragility of

systems, reduce the mean time-to-restore-service (MTRS), and develop accelerated methodologies to test quality

• Architectural level ability to indicate performance degradation issues in the application code

• Reference quality benchmarks for code and extra-functional properties

http://jchyip.blogspot.gr/2013/12/5-principles-on-quality-and-testing-in.html

Ubiquitous Requirements Engineering

• Multichannel Big Data analytics for requirements elicitation from large sites• Novel, privacy respective methods for user engagement and requirements extraction• Requirements blending different kind of logics, interoperability with next-of-kin and other unrelated systems of a greater ecosystem• Requirements into production schedule dictates and linkage with business needs• Unanimous description conventions and abstraction representation levels

Software Defined Privacy and Security• Identification (real-time also) of contextual systems

patterns related to privacy leaking code snippets• Continuous source code assessment at design time • Approaches for establishing optimality of encryption

levels and secure computation of data structures• Secure packaging and placement mechanisms of

applications over programmable infrastructure• Secure and Policy-aware Orchestration mechanisms of

services and application

Big Data for Software Engineering• Machine learning and data mining to reveal intelligence not evident to humans

• Study the evolution / discontinuation of software elements, analysis of user trends and behaviour, to better understand users’ needs

• Identify feature and performance improvement opportunities, root causes of failures, runtime system adaptations, etc. based massively big or lightning-fast updating log files from various complex distributed systems and infrastructures

• Predictive and prescriptive analytics for proactive planning adaptation actions.

Open Source Software Innovation• Detection and disposition of contradictions, ambiguities, and gaps based on fault defensive and tolerant programming styles for distributed developers teams

• Methodologies and tools for impact analyses of code additions and modifications.

• Creation and management of communities of code contributors, reviewers, testers, etc.

• Comprehensive DevOps combining existing tools under a set of common, formalized set of methodologies

The road to success for the Software Engineering Community beyond 2020 = Passion supported by Coordinated and

Community based Actions

Thank You for Your Attention

Dr. Sotiris [email protected] @skousNational Technical University of Athens, DSSLabSE4SA-Cluster on Software Engineering for Services and Applications