Component-Based Software Development for Embedded Systems : An Overview of Current Research Trends
Embedded systems are ubiquitous. They appear in cell phones, microwave ovens, refrigerators, consumer electronics, cars, and jets. Some of these embedded s- tems are safety- or security-critical such as in medical equipment, nuclear plants, and X-by-wire control systems in naval, ground and aerospace transportation - hicles. With the continuing shift from hardware to software, embedded systems are increasingly dominated by embedded software. Embedded software is complex. Its engineering inherently involves a mul- disciplinary interplay with the physics of the embedding system or environment. Embedded software also comes in ever larger quantity and diversity. The next generation of premium automobiles will carry around one gigabyte of binary code. The proposed US DDX submarine is e?ectively a ?oating embedded so- ware system, comprising 30 billion lines of code written in over 100 programming languages. Embedded software is expensive. Cost estimates are quoted at around US$15– 30 per line (from commencement to shipping). In the defense realm, costs can range up to $100, while for highly critical applications, such as the Space Shuttle, the cost per line approximates $1,000. In view of the exponential increase in complexity, the projected costs of future embedded software are staggering.
Categories for software engineering
This book provides a gentle, software engineering oriented introduction to category theory. Assuming only a minimum of mathematical preparation, this book explores the use of categorical constructions from the point of view of the methods and techniques that have been proposed for the engineering of complex software systems: object-oriented development, software architectures, logical and algebraic specification techniques, models of concurrency, inter alia. After two parts in which basic and more advanced categorical concepts and techniques are introduced, the book illustrates their application to the semantics of CommUnity – a language for the architectural design of interactive systems. "For computer scientists, this unique book presents Category Theory in a manner tailored to their interests and with examples to which they can relate." Ira Forman, IBM "This book applies little-known yet quite powerful formal tools from category theory to software structures: designs, architectures, patterns, and styles. Rather than focus on issues at the level of computational models and semantics, it instead applies these tools to some of the problems facing the sophisticated software architect.
Architecting dependable systems V
As software systems become increasingly ubiquitous, the issues of dependability become more and more crucial. Given that solutions to these issues must be considered from the very beginning of the design process, it is reasonable that dependability is addressed at the architectural level. This book was born of an effort to bring together the research communities of software architectures and dependability.
Architecting dependable systems III
As software systems become ubiquitous, the issues of dependability become more and more crucial. Given that solutions to these issues must be considered from the very beginning of the design process, it is reasonable that dependability is addressed at the architectural level. This book comes as a result of an effort to bring together the research communities of software architectures and dependability. The papers are organised in topical sections on architectures for dependable services, monitoring and reconfiguration in software architectures, dependability support for software architectures, architectural evaluation, and architectural abstractions for dependability
Anti-fragile ICT Systems
Introduces a novel approach to the design and operation of large ICT systems. It views the technical solutions and their stakeholders as complex adaptive systems and argues that traditional risk analyses cannot predict all future incidents with major impacts. To avoid unacceptable events, it is necessary to establish and operate anti-fragile ICT systems that limit the impact of all incidents, and which learn from small-impact incidents how to function increasingly well in changing environments. The book applies four design principles and one operational principle to achieve anti-fragility for different classes of incidents. It discusses how systems can achieve high availability, prevent malware epidemics, and detect anomalies. Analyses of Netflix’s media streaming solution, Norwegian telecom infrastructures, e-government platforms, and Numenta’s anomaly detection software show that cloud computing is essential to achieving anti-fragility for classes of events with negative impacts.
An Integrated Approach to Software Engineering
An Integrated Approach to Software Engineering introduces software engineering to advanced-level undergraduate and graduate students of computer science. It emphasizes a case-study approach whereby a project is developed through the course of the book, illustrating the different activities of software development. The sequence of chapters is essentially the same as the sequence of activities performed during a typical software project. All activities, including quality assurance and control activities, are described in each chapter as integral activities for that phase of development. Similarly, the author carefully introduces appropriate metrics for controlling and assessing the software process. Chapters in this revised edition, updated for today’s standards, include these new features: Software Process, Requirements Analysis and Specification, Software Architecture, Project Planning, Object Oriented Design, Coding,Testing,
A Concise Introduction to Software Engineering
This text focuses on the essential elements, providing readers with the basic skills and introductory knowledge required to execute a software project successfully.






