Real-time systems are used in a wide range of applications, including control, sensing, multimedia, etc. Scheduling is a central problem for these computing/communication systems since responsible of software execution in a timely manner. This book provides state of knowledge in this domain with special emphasis on the key results obtained within the last decade. This book addresses foundations as well as the latest advances and findings in Real-Time Scheduling, giving all references to important papers. But nevertheless the chapters will be short and not overloaded with confusing details. Coverage includes scheduling approaches for mono-core as well as multi-core platforms, dependent tasks, networks, and notably very tremendous recent advances in scheduling of energy constrained embedded systems. Other sophisticated issues such as feedback control scheduling and timing analysis of critical applications are also addressed. This volume can serve as a textbook for courses on the topic in bachelor and in more advanced master programs. It also provides a reference for computer scientists and engineers involved in the design or the development of Cyber-Physical Systems which require up-to-date real-time scheduling solutions.
A comprehensive, practical book on software management that dispels real-world issues through relevant case studies Software managers inevitably will meet obstacles while trying to deliver quality products and provide value to customers, often with tight time restrictions. The result: Software War Stories. This book provides readers with practical advice on how to handle the many issues that can arise as a software project unfolds. It utilizes case studies that focus on what can be done to establish and meet reasonable expectations as they occur in government, industrial, and academic settings. The book also offers important discussions on both traditional and agile methods as well as lean development concepts. Software War Stories: Covers the basics of management as applied to situations ranging from agile projects to large IT projects with infrastructure problems Includes coverage of topics ranging from planning, estimating, and organizing to risk and opportunity management Uses twelve case studies to communicate lessons learned by the author in practice Offers end-of-chapter exercises, sample solutions, and a blog for providing updates and answers to readers' questions Software War Stories: Case Studies in Software Management mentors practitioners, software engineers, students and more, providing relevant situational examples encountered when managing software projects and organizations.
Here is a book that takes the sting out of learning object-oriented design patterns! Using vignettes from the fictional world of Harry Potter, author Avinash C. Kak provides a refreshing alternative to the typically abstract and dry object-oriented design literature. Designing with Objects is unique. It explains design patterns using the short-story medium instead of sterile examples. It is the third volume in a trilogy by Avinash C. Kak, following Programming with Objects (Wiley, 2003) and Scripting with Objects (Wiley, 2008). Designing with Objects confronts how difficult it is for students to learn complex patterns based on conventional scenarios that they may not be able to relate to. In contrast, it shows that stories from the fictional world of Harry Potter provide highly relatable and engaging models. After explaining core notions in a pattern and its typical use in real-world applications, each chapter shows how a pattern can be mapped to a Harry Potter story. The next step is an explanation of the pattern through its Java implementation. The following patterns appear in three sections: Abstract Factory, Builder, Factory Method, Prototype, and Singleton; Adapter, Bridge, Composite, Decorator, Facade, Flyweight, and Proxy; and the Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, and Visitor. For readers’ use, Java code for each pattern is included in the book’s companion website. All code examples in the book are available for download on a companion website with resources for readers and instructors. A refreshing alternative to the abstract and dry explanations of the object-oriented design patterns in much of the existing literature on the subject. In 24 chapters, Designing with Objects explains well-known design patterns by relating them to stories from the fictional Harry Potter series
This book presents real-world examples of formal techniques in an industrial context. It covers formal methods such as SCADE and/or the B Method, in various fields such as railways, aeronautics, and the automotive industry. The purpose of this book is to present a summary of experience on the use of “formal methods” (based on formal techniques such as proof, abstract interpretation and model-checking) in industrial examples of complex systems, based on the experience of people currently involved in the creation and assessment of safety critical system software. The involvement of people from within the industry allows the authors to avoid the usual confidentiality problems which can arise and thus enables them to supply new useful information (photos, architecture plans, real examples, etc.). The authors cover the following topics: an example of use of SCADE, constraint solving in B, validation of Petri Nets-based automated rail safety, data validation, etc.
Real-time systems are used in a wide range of applications, including control, sensing, multimedia, etc. Scheduling is a central problem for these computing/communication systems since it is responsible for software execution in a timely manner. This book, the second of two volumes on the subject, brings together knowledge on specific topics and discusses the recent advances for some of them. It addresses foundations as well as the latest advances and findings in real-time scheduling, giving comprehensive references to important papers, but the chapters are short and not overloaded with confusing details. Coverage includes scheduling approaches for networks and for energy autonomous systems. Other sophisticated issues, such as feedback control scheduling and probabilistic scheduling, are also addressed. This book can serve as a textbook for courses on the topic in bachelor’s degrees and in more advanced master’s degree programs. It also provides a reference for computer scientists and engineers involved in the design or the development of Cyber-Physical Systems which require up-to-date real-time scheduling solutions.
Widely used across industrial and manufacturing automation, Programmable Logic Controllers (PLCs) perform a broad range of electromechanical tasks with multiple input and output arrangements, designed specifically to cope in severe environmental conditions such as automotive and chemical plants. Programmable Logic Controllers: A Practical Approach using CoDeSys is a hands-on guide to rapidly gain proficiency in the development and operation of PLCs based on the IEC 61131-3 standard. Using the freely-available* software tool CoDeSys, which is widely used in industrial design automation projects, the author takes a highly practical approach to PLC design using real-world examples. The design tool, CoDeSys, also features a built in simulator/soft PLC enabling the reader to undertake exercises and test the examples. Key features: Introduces to programming techniques using IEC 61131-3 guidelines in the five PLC-recognised programming languages. Focuses on a methodical approach to programming, based on Boolean algebra, flowcharts, sequence diagrams and state-diagrams. Contains a useful methodology to solve problems, develop a structured code and document the programming code. Covers I/O like typical sensors, signals, signal formats, noise and cabling. Features Power Point slides covering all topics, example programs and solutions to end-of-chapter exercises via companion website. No prior knowledge of programming PLCs is assumed making this text ideally suited to electronics engineering students pursuing a career in electronic design automation. Experienced PLC users in all fields of manufacturing will discover new possibilities and gain useful tips for more efficient and structured programming. * Register at www.codesys.com www.wiley.com/go/hanssen/logiccontrollers
A friendly and accessible introduction to the most useful algorithms Computer algorithms are the basic recipes for programming. Professional programmers need to know how to use algorithms to solve difficult programming problems. Written in simple, intuitive English, this book describes how and when to use the most practical classic algorithms, and even how to create new algorithms to meet future needs. The book also includes a collection of questions that can help readers prepare for a programming job interview. Reveals methods for manipulating common data structures such as arrays, linked lists, trees, and networks Addresses advanced data structures such as heaps, 2-3 trees, B-trees Addresses general problem-solving techniques such as branch and bound, divide and conquer, recursion, backtracking, heuristics, and more Reviews sorting and searching, network algorithms, and numerical algorithms Includes general problem-solving techniques such as brute force and exhaustive search, divide and conquer, backtracking, recursion, branch and bound, and more In addition, Essential Algorithms features a companion website that includes full instructor materials to support training or higher ed adoptions.
Data as a Service shows how organizations can leverage “data as a service” by providing real-life case studies on the various and innovative architectures and related patterns Comprehensive approach to introducing data as a service in any organization A reusable and flexible SOA based architecture framework Roadmap to introduce ‘big data as a service’ for potential clients Presents a thorough description of each component in the DaaS reference architecture so readers can implement solutions
Fritzson covers the Modelica language in impressive depth from the basic concepts such as cyber-physical, equation-base, object-oriented, system, model, and simulation, while also incorporating over a hundred exercises and their solutions for a tutorial, easy-to-read experience. The only book with complete Modelica 3.3 coverage Over one hundred exercises and solutions Examines basic concepts such as cyber-physical, equation-based, object-oriented, system, model, and simulation
A concise, engineering-oriented resource that provides practical support to IT professionals and those responsible for the quality of the software or systems they develop Software quality stems from two distinctive, but associated, topics in software engineering: software functional quality and software structural quality. This book studies the tenets of both of these notions, which focus on the efficiency and value of a design, respectively. It addresses engineering quality on both the application and system levels with attention to information systems (IS) and embedded systems (ES) as well as recent developments. Software Quality Engineering introduces the basic concepts of quality engineering like the nature of the engineering process, quality models and measurements, and evaluation quality, and provides a step-by-step overview of the application of software quality engineering in commonly recognized phases of the software development process. It also discusses management of software quality engineering processes, with special attention to budget, planning, conflict resolution, and traceability of quality requirements. Targeted at graduate engineering students and software quality specialists, Software Quality Engineering: Provides an analysis of interdependence between software functionality and its quality Includes a list of software quality engineering “to-dos” and models of software quality requirements traceability Covers the practical use of related ISO/IEC JTCI/SC7 standards