Contemporary and future software systems are composed of large-scale ensembles of widely distributed, largely autonomous and heterogeneous entities situated in both the physical world and in back-end computer systems.
From software development perspective, the world of computing is shifting from the era of single device computing to a new era where literally everything (Services, Things and People) is interconnected, online, and programmable.
We are therefore increasingly looking at, and building, emergent and adaptive socio-technical applications built on top of large-scale decentralized distributed computing systems. The lessons learned in distributed software management
have led to the idea of a micro-service-based architectural style derived from the concept of web services, flows, and message exchange.
These concepts are not only used in large systems, but become common practice in all types of applications, even the smallest involving smart things.
From a technical point of view, modern computing platforms -- such as those provided by serverless computing, containers, fog computing, cloud computing, or the Internet of Things -- offer many advantages. However, creating software that leverages the possibilities of such platforms and accounts for their limitations entails several challenges, affecting many software engineering activities.
Therefore, in this workshop, we seek to bring together researchers and practitioners to discuss research challenges, ideas, initiatives and results to share new approaches and emerging results.
CALL FOR PAPER
The goal of this workshop is to bring the attention of researchers and practitioners in the field of software engineering
to the opportunities and challenges involved in new trends and issues related to software engineering for modern computing platforms. The workshop aims to
present and discuss latest ongoing research as well as radical new research directions in engineering modern and future software
application involving several and heterogeneous domains. The aim is to analyze and propose new paradigms for distributed
software platforms, including sharing and reuse of everything: people, objects, and services, but also sharing of economy aspect of these entities.
Conceptually, main relevant content should comprise concepts of community: the main activity of services is to create and manage, characterized by
sociality, economic advantage, efficiency of service, comfort, and so on.
There is a bilateral and continuous relationship between different categories of end-users.
From an economic point of view, business services are no longer paid top-down, but people are meeting to exchange or share assets, time, money, etc. So the goods are
owned by people and not by companies. This new high level perspective on the sharing of services requires and asks for new technologies, requirements and
style to be implemented.
Moreover, people experience advantages derived from sharing of everything
reaching the satisfaction of requirements that are both architectural as far
as the design is concerned and non functional concerning economical,
experiential, efficiency, and other proper category depending on the
specific domain and typology of involved things.
Technically, software is increasingly deployed on platforms with powerful capabilities. E.g., cloud systems offer elastic resource provisioning and automatic adaptation possibilities, serverless computing makes it possible to run functions with fully automatic control of the underlying infrastructure, containers enable the packaging and deployment of software with all its dependencies, fog computing offers a continuum of virtualized resources from end devices with limited computational capacity through more powerful nodes near the network edge to large data centers in the cloud, the Internet of Things makes it possible to attach software to a large set of digitally connected real-world objects etc. Developing software that should run on such platforms raises specific challenges to (i) optimally leverage the capabilities and (ii) cope with the limitations of the given platform. For example, when developing software for the cloud, specific architectural patterns may need to be used to enable automatic scaling of the application's components, while extra care is needed to address temporal performance drops due to migrations. These challenges affect the whole software lifecycle, including requirements engineering (e.g., definition of elasticity requirements), software design (e.g., decomposition into microservices), programming (e.g., using specific languages or APIs of a serverless platform), and testing (e.g., coping with limited observability and controllability). Also, crosscutting issues like security, performance, and dependability raise specific challenges, in terms of both optimally leveraging the platforms' relevant capabilities and coping with the platforms' limitations. For example, a cloud platform may offer a ready-to-use authentication service, while it also introduces new security risks in the form of attacks from co-located tenants.
Topics of interested include but are not limited to:
- Engineering web of things and of everything
- Software architectural styles and patterns for connecting objects, devices and services
- Engineering new paradigm for software architecture
- Modern computing platforms: serverless computing, containers, edge and fog computing, cloud computing, Internet of Things, service mesh, AI/ML systems
- Effect on software engineering activities: requirements management, software design, analysis and verification, programming, quality assurance, deployment, maintenance, configuration management, DevOps
- Liquid software
- Challenges for distributed application
- Architectures and Framework for smart devices connection
- Microservices and distributed software models
- Architecture for adaptive systems
- Optimization and Decision-making approaches
- Scalability and Performance analysis
- Languages, platforms, APIs and other tools for Ensembles
- Quality assurance for Ensembles
- Internet of events (Internet of Content (IoC), Internet of People (IoP), Internet of Things (IoT), Internet of Locations (IoL)
- General concepts: virtualization, software-defined everything, everything as a service, loose coupling
- Cross-cutting concerns: security, performance, dependability, quality of service, quality of experience, energy efficiency
- Sustainable software engineering
- Emerging paradigms of software platform: crowdfunding, crowdsourcing
- Sharing economy: reuse, sharing and reusing
- Gamification and Engagification Mechanisms for people
- Cooperation and Competition algorithms in Multi-Agents Systems
- Empirical software engineering for Ensembles
- Scenarios, case studies, and experience reports of Ensembles in different contexts (e.g., Smart Mobility, Smart Energy/Smart Grid, Smart Buildings, Emergency, etc..).
- Applications and tools behaving in shared economy environment and domains: Crowdfunding, car sharing, house-sharing, coworking.
Authors are invited to submit two types of papers,
- regular papers of 08 pages and
- demo papers of 04 pages .
Submitted papers should conform to the 2017 ACM Master article template
and should describe, in English, original work that has not been published or submitted for publication elsewhere.
The papers submitted must not reveal the authors' identities.
A single PDF versions of papers should be submitted electronically via the EasyChair submission page
Submissions will be judged on novelty, relevance, clarity of presentation, and correctness. Authors of accepted submissions are required to present their work.