Software Engineering for Adaptive and Self-Managing Systems

Last updated

The Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) is an academic conference for exchanging research results and experiences in the areas of autonomic computing, self-managing, self-healing, self-optimizing, self-configuring, and self-adaptive systems theory. It was established in 2006 at the International Conference on Software Engineering (ICSE). It integrated workshops held mainly at ICSE and the Foundations of Software Engineering (FSE) conference since 2002, [1] including the FSE 2002 and 2004 Workshops on Self-Healing (Self-Managed) Systems (WOSS), ICSE 2005 Workshop on Design and Evolution of Autonomic Application Software, [2] and the ICSE 2002, 2003, 2004 and 2005 Workshops on Architecting Dependable Systems. [3]

Related Research Articles

Software engineering is the systematic application of engineering approaches to the development of software.

Autonomic computing (AC) refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes while hiding intrinsic complexity to operators and users. Initiated by IBM in 2001, this initiative ultimately aimed to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that complexity poses to further growth.

The World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these Web applications exhibit complex behaviour and place some unique demands on their usability, performance, security, and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad hoc way, contributing to problems of usability, maintainability, quality and reliability. While Web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In recent years, there have been developments towards addressing these considerations.

The Association for Computing Machinery's Special Interest Group on Software Engineering provides a forum for computing professionals from industry, government and academia to examine principles, practices, and new research results in software engineering.

Software visualization or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D visual representations of their structure, execution, behavior, and evolution.

A cluster manager usually is a backend graphical user interface (GUI) or command-line software that runs on one or all cluster nodes .The cluster manager works together with a cluster management agent. These agents run on each node of the cluster to manage and configure services, a set of services, or to manage and configure the complete cluster server itself In some cases the cluster manager is mostly used to dispatch work for the cluster to perform. In this last case a subset of the cluster manager can be a remote desktop application that is used not for configuration but just to send work and get back work results from a cluster. In other cases the cluster is more related to availability and load balancing than to computational or specific service clusters.

In software engineering, software aging refers to all software's tendency to fail, or cause a system failure after running continuously for a certain time, or because of ongoing changes in systems surrounding the software. Software aging has several causes, including the inability of old software to adapt to changing needs or changing technology platforms, and the tendency of software patches to introduce further errors. As the software gets older it becomes less well-suited to its purpose and will eventually stop functioning as it should. Rebooting or reinstalling the software can be seen as a short term fix. A proactive fault management method to deal with the software aging incident is software rejuvenation. This method can be classified as an environment diversity technique that usually is implemented through software rejuvenation agents (SRA).

Frame technology (FT) is a language-neutral system that manufactures custom software from reusable, machine-adaptable building blocks, called frames. FT is used to reduce the time, effort, and errors involved in the design, construction, and evolution of large, complex software systems. Fundamental to FT is its ability to stop the proliferation of similar but subtly different components, an issue plaguing software engineering, for which programming language constructs or add-in techniques such as macros and generators failed to provide a practical, scalable solution.

The International Conference on Software Engineering and Formal Methods (SEFM) is an international academic conference in the field of software engineering.

The IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems (FORTE) is part of the federated conference event DisCoTec which also includes the International Conference on Coordination Models and Languages (COORDINATION) and the IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS).

Carlo Ghezzi is a professor and chair of software engineering at the Politecnico di Milano, Italy and an adjunct professor at the Università della Svizzera italiana (USI), Switzerland. At the Politecnico, he is the Rector's Delegate for research; he has been department chair, head of the PhD program, member of the academic senate and of the board of governors of Politecnico.

Douglas C. Schmidt is a computer scientist and author in the fields of object-oriented programming, distributed computing and design patterns.

Software analytics is the analytics specific to the domain of software systems taking into account source code, static and dynamic characteristics as well as related processes of their development and evolution. It aims at describing, monitoring, predicting, and improving efficiency and effectivity of software engineering throughout the software lifecycle, in particular during software development and software maintenance. The data collection is typically done by mining software repositories, but can also be achieved by collecting user actions or production data. One avenue for using the collected data is to augment the integrated development environments (IDEs) with data-driven features.

In cloud computing, elasticity is defined as "the degree to which a system is able to adapt to workload changes by provisioning and de-provisioning resources in an autonomic manner, such that at each point in time the available resources match the current demand as closely as possible". Elasticity is a defining characteristic that differentiates cloud computing from previously proposed computing paradigms, such as grid computing. The dynamic adaptation of capacity, e.g., by altering the use of computing resources, to meet a varying workload is called "elastic computing".

Bashir Al-Hashimi

Bashir Mohammed Ali Al-Hashimi, CBE, FREng, FIEEE, FIET, FBCS is the Dean of the Faculty of Natural and Mathematical Sciences, and ARM professor of Computer Engineering at King's College London in the United Kingdom. He is also a Visiting Professor at the School of Electronics and Computer Science (ECS) at the University of Southampton. There, he is the co-director of the ARM-ECS Research Centre, which is an industry-university collaborative centre involving the University of Southampton and ARM. He served as a panel member on the UK Research Excellence Framework (REF) 2014 and is also a member of the REF 2021 Engineering Panel. His research focuses on understanding the interaction between hardware and software in constrained computing systems such as those found in mobile and embedded applications and how such interactions can be used through theory and experiment to achieve systems energy efficiency and enhanced hardware dependability. He has made fundamental contributions to the field of hardware-software co-design, low-power test and test-data compression of digital integrated circuits, and the emerging field of energy-harvesting computing.

Hausi A. Muller

Hausi A. Müller is a Canadian computer scientist and software engineer. He is a professor of computer science at the University of Victoria, British Columbia, Canada and a Fellow of the Canadian Academy of Engineering.

Brownout in software engineering is a technique that involves disabling certain features of an application.

Nenad Medvidović is a Professor of Computer Science and Informatics at the University of Southern California in Los Angeles, CA. He is a fellow of the IEEE and an ACM Distinguished Member. He was chair of ACM SIGSOFT and co-author of Software Architecture: Foundations, Theory, and Practice (2009). In 2008, he received the Most Influential Paper Award for a paper titled "Architecture-Based Runtime Software Evolution" published in the ACM/IEEE International Conference on Software Engineering 1998. In 2020, he received the Most Influential Paper Award for a paper titled "An architectural style for solving computationally intensive problems on large networks" published in the ACM/IEEE Software Engineering for Adaptive and Self-Managing Systems 2007. In 2017, he received an IEEE International Conference on Software Architecture Best Paper Award for his paper titled "Continuous Analysis of Collaborative Design".

References

  1. "Foundations of Software Engineering". Association for Computing Machinery . Retrieved June 9, 2013.CS1 maint: discouraged parameter (link)
  2. Design and Evolution of Autonomic Application Software, University of Vitoria, 2005, retrieved June 9, 2013CS1 maint: discouraged parameter (link)
  3. "DSN 2009 Workshop on Architecting Dependable Systems". University of Kent. 2009. Retrieved June 9, 2013.CS1 maint: discouraged parameter (link)