The area of software technology is very dynamic

Many new techniques and architectures have been introduced in the past decade: self-aware systems (adaptive, learning, optimizing, etc.), cyber-physical systems, event-based systems, emergent systems, hybrid-control systems, systems of systems, eco-systems, big-data management systems, cloud architectures, software-defined networks, distributed sensor systems, ubiquitous systems, secure and safe systems, fault-tolerant systems, high-performance systems are some examples.

Software intensive systems are becoming extremely complex

With the emergence of new techniques and architectures, the complexity of software intensive systems continue to grow. To maximally profit from the recent advancements of technologies, however, software intensive systems must be designed, implemented, verified and maintained in a cost-effective way. Complexity is the major obstacle in accomplishing these objectives. As such, many “good ideas” may never be realized in practice, unless complexity is managed.

Effective modularity and composition

Effective decomposition of systems into modules and/or composition of modules into systems are two major ways of reducing complexity. However, variations of the concepts in the application domains and increased dynamicity in runtime environments make traditional module-based abstractions less suitable. New ways of defining modules and composition mechanisms are necessary. Moreover, effective decomposition and composition require expressive quality models and efficient trade-off analysis techniques. To this aim, it is crucial to understand the modularity and composition needs of the emerging techniques and architectures.

Much has been accomplished in modularization and composition

During the last two decades, extensive research work has been carried out to modularize and compose complex systems. For example, object-oriented programming, component-oriented programming, reflective-programming, aspect-oriented programming, context-oriented programming, model-driven engineering, feature-oriented programming, event-based programming and their variations have been introduced. Furthermore, incremental verification and testing techniques have been developed to assure correctly functioning systems. Obviously, to be able to address the problems of the future, we need to understand very well the techniques introduced in the past, in particular in terms of their potential benefits and their limitations.

This symposium aims to address the challenges of optimal decomposition and effective composition for emergent software techniques and architectures from two perspectives: (1) Assessment of the state-of-the-art techniques and methods, and (2) modularization and composition challenges in designing today’s and tomorrow’s software intensive systems.

About Modularity

You're viewing the program in a time zone which is different from your device's time zone - change time zone

Tue 4 Apr
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:00: Session IIModularity at D0.08
11:00 - 11:45
Advanced Modularity for the Cloud
Mario SüdholtÉcole des Mines de Nantes, France
File Attached
11:45 - 12:30
Modularity for System-of-Systems
Bedir TekinerdoganWageningen University, The Netherlands
File Attached
13:30 - 15:00: Session IIIModularity at D0.08
13:30 - 14:15
SoC Spaces - Indexes for Composition
Uwe AßmannTU Dresden, Germany
File Attached
14:15 - 15:00
Formal Verification for Cross-cutting Modularity
Shmuel KatzComputer Science Dept., The Technion
File Attached