Modeling Software with Finite State Machines

Author: Ferdinand Wagner
Publisher: CRC Press
ISBN: 1420013645
Format: PDF, ePub
Download and Read
Modeling Software with Finite State Machines: A Practical Approach explains how to apply finite state machines to software development. It provides a critical analysis of using finite state machines as a foundation for executable specifications to reduce software development effort and improve quality. This book discusses the design of a state machine and of a system of state machines. It also presents a detailed analysis of development issues relating to behavior modeling with design examples and design rules for using finite state machines. This volume describes a coherent and well-tested framework for generating reliable software for even the most complex tasks. The authors demonstrate that the established practice of using a specification as a basis for coding is wrong. Divided into three parts, this book opens by delivering the authors' expert opinions on software, covering the evolution of development as well as costs, methods, programmers, and the development cycle. The remaining two parts encourage the use of state machines: promoting the virtual finite state machine (Vfsm) method and the StateWORKS development tools.

Modeling Software with Finite State Machines

Author: Ferdinand Wagner
Publisher: Auerbach Publications
ISBN: 9780849380860
Format: PDF, Mobi
Download and Read
Modeling Software with Finite State Machines: A Practical Approach explains how to apply finite state machines to software development. It provides a critical analysis of using finite state machines as a foundation for executable specifications to reduce software development effort and improve quality. This book discusses the design of a state machine and of a system of state machines. It also presents a detailed analysis of development issues relating to behavior modeling with design examples and design rules for using finite state machines. This volume describes a coherent and well-tested framework for generating reliable software for even the most complex tasks. The authors demonstrate that the established practice of using a specification as a basis for coding is wrong. Divided into three parts, this book opens by delivering the authors' expert opinions on software, covering the evolution of development as well as costs, methods, programmers, and the development cycle. The remaining two parts encourage the use of state machines: promoting the virtual finite state machine (Vfsm) method and the StateWORKS development tools.

A Practical Introduction to Hardware Software Codesign

Author: Patrick Schaumont
Publisher: Springer Science & Business Media
ISBN: 1461437377
Format: PDF, Mobi
Download and Read
This textbook serves as an introduction to the subject of embedded systems design, with emphasis on integration of custom hardware components with software. The key problem addressed in the book is the following: how can an embedded systems designer strike a balance between flexibility and efficiency? The book describes how combining hardware design with software design leads to a solution to this important computer engineering problem. The book covers four topics in hardware/software codesign: fundamentals, the design space of custom architectures, the hardware/software interface and application examples. The book comes with an associated design environment that helps the reader to perform experiments in hardware/software codesign. Each chapter also includes exercises and further reading suggestions. Improvements in this second edition include labs and examples using modern FPGA environments from Xilinx and Altera, which will make the material in this book applicable to a greater number of courses where these tools are already in use. More examples and exercises have been added throughout the book. “If I were teaching a course on this subject, I would use this as a resource and text. If I were a student who wanted to learn codesign, I would look for a course that at least used a similar approach. If I were an engineer or engineering manager who wanted to learn more about codesign from a very practical perspective, I would read this book first before any other. When I first started learning about codesign as a practitioner, a book like this would have been the perfect introduction.” --Grant Martin, Tensilica--

Real Time Systems Development

Author: Rob Williams
Publisher: Elsevier
ISBN: 0080456405
Format: PDF, ePub, Mobi
Download and Read
Real-Time Systems Development introduces computing students and professional programmers to the development of software for real-time applications. Based on the academic and commercial experience of the author, the book is an ideal companion to final year undergraduate options or MSc modules in the area of real-time systems design and implementation. Assuming a certain level of general systems design and programming experience, this text will extend students’ knowledge and skills into an area of computing which has increasing relevance in a modern world of telecommunications and ‘intelligent’ equipment using embedded microcontrollers. This book takes a broad, practical approach in discussing real-time systems. It covers topics such as basic input and output; cyclic executives for bare hardware; finite state machines; task communication and synchronization; input/output interfaces; structured design for real-time systems; designing for multitasking; UML for real-time systems; object oriented approach to real-time systems; selecting languages for RTS development; Linux device drivers; and hardware/software co-design. Programming examples using GNU/Linux are included, along with a supporting website containing slides; solutions to problems; and software examples. This book will appeal to advanced undergraduate Computer Science students; MSc students; and, undergraduate software engineering and electronic engineering students. * Concise treatment delivers material in manageable sections * Includes handy glossary, references and practical exercises based on familiar scenarios * Supporting website contains slides, solutions to problems and software examples

Discrete Event Modeling and Simulation

Author: Gabriel A. Wainer
Publisher: CRC Press
ISBN: 1351835351
Format: PDF, Mobi
Download and Read
Complex artificial dynamic systems require advanced modeling techniques that can accommodate their asynchronous, concurrent, and highly non-linear nature. Discrete Event systems Specification (DEVS) provides a formal framework for hierarchical construction of discrete-event models in a modular manner, allowing for model re-use and reduced development time. Discrete Event Modeling and Simulation presents a practical approach focused on the creation of discrete-event applications. The book introduces the CD++ tool, an open-source framework that enables the simulation of discrete-event models. After setting up the basic theory of DEVS and Cell-DEVS, the author focuses on how to use the CD++ tool to define a variety of models in biology, physics, chemistry, and artificial systems. They also demonstrate how to map different modeling techniques, such as Finite State Machines and VHDL, to DEVS. The in-depth coverage elaborates on the creation of simulation software for DEVS models and the 3D visualization environments associated with these tools. A much-needed practical approach to creating discrete-event applications, this book offers world-class instruction on the field’s most useful modeling tools.

Practical Statecharts in C C

Author: Miro Samek
Publisher: CRC Press
ISBN: 9781578201105
Format: PDF
Download and Read
'Downright revolutionary... the title is a major understatement... 'Quantum Programming' may ultimately change the way embedded software is designed.' -- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine (Click here

Practical UML Statecharts in C C

Author: Miro Samek
Publisher: CRC Press
ISBN: 148224926X
Format: PDF, Kindle
Download and Read
Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools. This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-driven programming concepts such as inversion of control ( Hollywood Principle ), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, the importance of event queues, dealing with time, and the role of state machines to maintain the context from one event to the next. This background is designed to help software developers in making the transition from the traditional sequential to the modern event-driven programming, which can be one of the trickiest paradigm shifts. The lightweight QP event-driven infrastructure goes several steps beyond the traditional real-time operating system (RTOS). In the simplest configuration, QP runs on bare-metal microprocessor, microcontroller, or DSP completely replacing the RTOS. QP can also work with almost any OS/RTOS to take advantage of the existing device drivers, communication stacks, and other middleware. The accompanying website to this book contains complete open source code for QP, ports to popular processors and operating systems, including 80x86, ARM Cortex-M3, MSP430, and Linux, as well as all examples described in the book.

Algorithms Languages Automata and Compilers A Practical Approach

Author: Maxim Mozgovoy
Publisher: Jones & Bartlett Learning
ISBN: 9781449633233
Format: PDF, ePub
Download and Read
Algorithms, Languages, Automata, & Compilers A Practical Approach is designed to cover the standard “theory of computing” topics through a strong emphasis on practical applications rather than theorems and proofs. Finite automata, Turing machines, models of computation, complexity, solvability, and other topics that form a foundation of modern programming are discussed -first with a gentle theoretical orientation, and then applied through programming code and practical examples. JFLAP projects and applications are integrated throughout the book, and C# is used for all code.

Practical Model Based Testing

Author: Mark Utting
Publisher: Elsevier
ISBN: 9780080466484
Format: PDF, Kindle
Download and Read
Practical Model-Based Testing gives a practical introduction to model-based testing, showing how to write models for testing purposes and how to use model-based testing tools to generate test suites. It is aimed at testers and software developers who wish to use model-based testing, rather than at tool-developers or academics. The book focuses on the mainstream practice of functional black-box testing and covers different styles of models, especially transition-based models (UML state machines) and pre/post models (UML/OCL specifications and B notation). The steps of applying model-based testing are demonstrated on examples and case studies from a variety of software domains, including embedded software and information systems. From this book you will learn: The basic principles and terminology of model-based testing How model-based testing differs from other testing processes How model-based testing fits into typical software lifecycles such as agile methods and the Unified Process The benefits and limitations of model-based testing, its cost effectiveness and how it can reduce time-to-market A step-by-step process for applying model-based testing How to write good models for model-based testing How to use a variety of test selection criteria to control the tests that are generated from your models How model-based testing can connect to existing automated test execution platforms such as Mercury Test Director, Java JUnit, and proprietary test execution environments Presents the basic principles and terminology of model-based testing Shows how model-based testing fits into the software lifecycle, its cost-effectiveness, and how it can reduce time to market Offers guidance on how to use different kinds of modeling techniques, useful test generation strategies, how to apply model-based testing techniques to real applications using case studies