Current and future challenges of software engineering for services and applications
-
Upload
sotiris-koussouris -
Category
Software
-
view
97 -
download
0
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
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