• Complain

Lalanda Philippe - Autonomic computing: principles, design and implementation

Here you can read online Lalanda Philippe - Autonomic computing: principles, design and implementation full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: London, year: 2014, publisher: Springer London, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Lalanda Philippe Autonomic computing: principles, design and implementation

Autonomic computing: principles, design and implementation: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Autonomic computing: principles, design and implementation" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Lalanda Philippe: author's other books


Who wrote Autonomic computing: principles, design and implementation? Find out the surname, the name of the author of the book and a list of all author's works by series.

Autonomic computing: principles, design and implementation — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Autonomic computing: principles, design and implementation" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Philippe Lalanda , Julie A. McCann and Ada Diaconescu Undergraduate Topics in Computer Science Autonomic Computing 2013 Principles, Design and Implementation 10.1007/978-1-4471-5007-7_1 Springer-Verlag London 2013
1. Software Engineering to Autonomic Computing
Philippe Lalanda 1, Julie A. McCann 2 and Ada Diaconescu 3
(1)
Laboratoire Informatique de Grenoble, Universit Joseph Fourier, Grenoble, France
(2)
Department of Computing, Imperial College London, London, UK
(3)
Department of Computing and Networking, Tlcom ParisTech, Paris, France
Abstract
Software, as an artefact, has been tremendously successful. It has pervaded every aspect of our professional and social life, due mainly to the outstanding advances in hardware, but also to undeniable progress in software engineering practices that allow the timely production of high-quality computing products. Software is however a victim of its own success. The software systems of today have to constantly face new and demanding requirements in terms of their availability, robustness, dynamism and pervasiveness. This is challenging, the way software systems are produced and managed. In particular, great pressure is put on the maintenance of software and systems; maintenance tasks are becoming increasingly difficult and correspondingly more time-consuming to carry out. Today, many believe that we have reached a barrier in terms of complexity and that innovative practices are needed to ensure the continuous delivery of software-based services. In this introductory chapter, we present how software systems are currently being developed and managed. We show how the use of software has evolved and how this has impacted on the software development and maintenance processes. In particular, we show that much of the complexity involved with the software life cycle has moved from the development stage to the maintenance stage, which raises formidable challenges for practitioners. Finally, we briefly introduce the field of autonomic computing, a relatively new spin on the ways we build and maintain software systems and whose purpose is to overcome some of these aforementioned problems we highlight. This chapter motivates the need for autonomic computing systems.
Software, as an artefact, has been tremendously successful. It has pervaded every aspect of our professional and social life, due mainly to the outstanding advances in hardware, but also to undeniable progress in software engineering practices that allow the timely production of high-quality computing products.
Software is however a victim of its own success. The software systems of today have to constantly face new and demanding requirements in terms of their availability, robustness, dynamism and pervasiveness. This is challenging, the way software systems are produced and managed. In particular, great pressure is put on the maintenance of software and systems; maintenance tasks are becoming increasingly difficult and correspondingly more time-consuming to carry out. Today, many believe that we have reached a barrier in terms of complexity and that innovative practices are needed to ensure the continuous delivery of software-based services.
In this introductory chapter, we present how software systems are currently being developed and managed. We show how the use of software has evolved and how this has impacted on the software development and maintenance processes. In particular, we show that much of the complexity involved with the software life cycle has moved from the development stage to the maintenance stage, which raises formidable challenges for practitioners.
Finally, we briefly introduce the field of autonomic computing, a relatively new spin on the ways we build and maintain software systems and whose purpose is to overcome some of these aforementioned problems we highlight. This chapter motivates the need for autonomic computing systems.
1.1 Software Complexity
Software systems can be amazingly complex. They can be difficult to conceive, to implement, to understand and to maintain. This raises significant challenges that gave birth to the software engineering approach to creating computing systems a few decades ago and has motivated the autonomic computing movement today. But what is a software system, and why is it so complex?
A software system is a collection of programmes and data deployed on one or several computers for execution. It is complex for a number of reasons. First, programmes are heterogeneous constructions. They can be made of a number of interacting computing entities, very diverse in the sense that they have their own structure, their own state at runtime and, sometimes, their own language. These computing entities are typically project specific. That is, they are created for the purpose of a single project, and this makes it difficult to reuse the experience obtained from one project to another, in terms of the development and maintenance of these entities across projects.
As observed by Frederic Brooks in his famous essay about software issues [], as the size of systems increases, the type and number of entities to be assembled increase exponentially, meaning structural complexity can be amplified.
Brooks also pointed out that software is intangible. Accurately representing the computing entities that compose a system and their behaviour is a non-trivial task. It requires defining a number of views at different levels of abstraction and many relationships between these different views. This separates the software building process from other more traditional engineering disciplines, where entities are more concrete and can be represented and understood more easily.
A software project is not limited to programmes and data though. It also comes with various software artefacts built throughout the software development process, including requirements specifications, architecture diagrams, documents, code, test suites and configurations specifications. There are tight relationships between these artefacts that are hard to express and to maintain. Most of the time, they are not entirely completed to perfection and some artefacts can be lost over the course of a project (such as design rationales). For instance, it is not unheard of that a piece of code can no longer be directly related to the requirement that motivated it.
Software artefacts are many, and the sheer number of these artefacts (and their relationships) adds to the complexity associated with modern software systems.
Brooks also stated that an essential feature of software systems is their ability to change. The source of the pressure to change comes from the clients and users, a phenomenon not normally associated with objects that are traditionally manufactured. For those objects, evolutions are carefully planned and incorporated in subsequent releases. In contrast, most software systems have to be regularly updated to stay relevant. There are of course many good reasons for that: satisfied users want more functions, bugs need to be fixed, market conditions change, incoming load has increased, hardware or software resources have evolved, etc. But the bottom line is that most people do not understand enough about the software to comprehend the extent of the difficulty and risks involved with updating existing systems.
This pressure to regularly adapt software to varying conditions has deeply impacted software engineering in the past, and this remains true today. In recent years, for instance, software development practices have been made more agile. Indeed, in many cases, a development project has to be able to start even when some business and technical aspects have yet to be nailed down. Similarly, market pressures sometimes push companies to release unfinished products, leaving bugs and missing functionalities for subsequent releases. There are of course advantages in releasing products early. An example of this is where a product is conceived for some purpose, but on release its usage changes and then its subsequent development follows that usage. Flickr is one such example, it was released as part of a multiplayer online game (from Ludicorp), but users availed of the photo storage capabilities and this popularity drove the focus to photo storage and exchange.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Autonomic computing: principles, design and implementation»

Look at similar books to Autonomic computing: principles, design and implementation. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Autonomic computing: principles, design and implementation»

Discussion, reviews of the book Autonomic computing: principles, design and implementation and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.