ebook img

Embedded Systems Architecture for Agile Development: A Layers-Based Model PDF

222 Pages·2017·6.93 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Embedded Systems Architecture for Agile Development: A Layers-Based Model

Embedded Systems Architecture for Agile Development A Layers-Based Model — Mohsen Mirtalebi Embedded Systems Architecture for Agile Development A Layers-Based Model Mohsen Mirtalebi Embedded Systems Architecture for Agile Development: A Layers-Based Model Mohsen Mirtalebi Indianapolis, Indiana, USA ISBN-13 (pbk): 978-1-4842-3050-3 ISBN-13 (electronic): 978-1-4842-3051-0 https://doi.org/10.1007/978-1-4842-3051-0 Library of Congress Control Number: 2017957715 Copyright © 2017 by Mohsen Mirtalebi This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Cover image by Freepik (www.freepik.com) Managing Director: Welmoed Spahr Editorial Director: Todd Green Acquisitions Editor: Susan McDermott Development Editor: Laura Berendson Technical Reviewer: Amir Shahirinia Coordinating Editor: Rita Fernando Copy Editor: Karen Jameson Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit http://www.apress.com/ rights-permissions. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/9781484230503. For more detailed information, please visit http://www.apress.com/source-code. Printed on acid-free paper To my parents who put up with my handyman projects since age four when I was first electrocuted attempting to fix the TV. To my son who has patiently learned that I only answer the calls after the sixth attempt. This is why I was slow. Table of Contents About the Author �����������������������������������������������������������������������������������������������������xi About the Technical Reviewer �������������������������������������������������������������������������������xiii Introduction �������������������������������������������������������������������������������������������������������������xv Chapter 1: The History of Layers Architecture ����������������������������������������������������������1 The New and the Old ���������������������������������������������������������������������������������������������������������������������4 Clash of Cultures ���������������������������������������������������������������������������������������������������������������������������5 Clash of Thoughts �������������������������������������������������������������������������������������������������������������������������5 Projects and Processes �����������������������������������������������������������������������������������������������������������������6 Products and People ���������������������������������������������������������������������������������������������������������������������6 Product Software ��������������������������������������������������������������������������������������������������������������������������7 Embedded Systems ����������������������������������������������������������������������������������������������������������������������7 Process Bottlenecks ���������������������������������������������������������������������������������������������������������������������8 Intelligent Product Development ���������������������������������������������������������������������������������������������������8 Architecture in the Construction Industry �������������������������������������������������������������������������������������9 Land Survey Drawings ����������������������������������������������������������������������������������������������������������������10 Architectural Drawings ���������������������������������������������������������������������������������������������������������������12 Drawing’s Reusability, Maintainability, Readability, and Scalability ���������������������������������������22 Making Buildings versus Making PCBs ���������������������������������������������������������������������������������������24 Summary�������������������������������������������������������������������������������������������������������������������������������������25 Chapter 2: Project Management Methods ��������������������������������������������������������������27 The Basics �����������������������������������������������������������������������������������������������������������������������������������28 Project Management Using Critical Path Methods (CPM) �����������������������������������������������������������28 What Is CPM? ������������������������������������������������������������������������������������������������������������������������29 Creating a Robust Gantt Chart �����������������������������������������������������������������������������������������������29 v Table of ConTenTs Project Management Using Agile Methods ���������������������������������������������������������������������������������36 What Does Agile Mean? ���������������������������������������������������������������������������������������������������������37 The Ideal Scrum ��������������������������������������������������������������������������������������������������������������������37 Collaborative Product Development (CPD) ����������������������������������������������������������������������������������43 Tasks, Deliverables, and Decisions ����������������������������������������������������������������������������������������44 Software and Project Management ��������������������������������������������������������������������������������������������47 Software Layers ���������������������������������������������������������������������������������������������������������������������47 Software Development Process ��������������������������������������������������������������������������������������������49 Software Reusability, Maintainability, Readability, and Scalability ����������������������������������������51 Software throughout CPD Process ����������������������������������������������������������������������������������������52 V-Model (Software Life Cycle) �����������������������������������������������������������������������������������������������53 Design for Manufacturing (DFM) �������������������������������������������������������������������������������������������������54 Modeling Languages and Agile ���������������������������������������������������������������������������������������������������56 Unified Modeling Language (UML) �����������������������������������������������������������������������������������������56 Model-Based Design (MBD) ���������������������������������������������������������������������������������������������������56 Summary ������������������������������������������������������������������������������������������������������������������������������������57 Bibliography ��������������������������������������������������������������������������������������������������������������������������������59 Chapter 3: Convergence of Management and Architecture ������������������������������������61 Convergence of Management and Architecture ��������������������������������������������������������������������������62 A Requirement Model ������������������������������������������������������������������������������������������������������������63 Creating Requirements ���������������������������������������������������������������������������������������������������������������70 Every Problem Is a Communication Problem ������������������������������������������������������������������������70 Marketing Requirements Document (MRD) ���������������������������������������������������������������������������74 Conceptual Design �����������������������������������������������������������������������������������������������������������������75 Architecture Design ���������������������������������������������������������������������������������������������������������������82 Module Design �����������������������������������������������������������������������������������������������������������������������83 Component Design and Product Breakdown Structure (PBS) �����������������������������������������������86 Summary�������������������������������������������������������������������������������������������������������������������������������������89 Bibliography ��������������������������������������������������������������������������������������������������������������������������������90 vi Table of ConTenTs Chapter 4: Requirements Model �����������������������������������������������������������������������������91 Process and Control Requirements Model ����������������������������������������������������������������������������������91 Context Diagrams ������������������������������������������������������������������������������������������������������������������92 Flow Diagrams �����������������������������������������������������������������������������������������������������������������������95 Process and Control Specification (PSPEC, CSPEC) ���������������������������������������������������������������97 The Requirements Dictionary ������������������������������������������������������������������������������������������������99 Timing Specifications ����������������������������������������������������������������������������������������������������������100 A Note on Requirements Model �������������������������������������������������������������������������������������������101 Structured Scrum ����������������������������������������������������������������������������������������������������������������������104 Simplified V-Model ��������������������������������������������������������������������������������������������������������������104 PBS Development ����������������������������������������������������������������������������������������������������������������114 A Different Approach in Design��������������������������������������������������������������������������������������������116 Processing the External Data ����������������������������������������������������������������������������������������������118 Bringing It All Together ��������������������������������������������������������������������������������������������������������120 Utilizing MBD Tools for PBS �������������������������������������������������������������������������������������������������122 Summary�����������������������������������������������������������������������������������������������������������������������������������122 Bibliography ������������������������������������������������������������������������������������������������������������������������������123 Chapter 5: Problem Statement �����������������������������������������������������������������������������125 Understanding the Problem ������������������������������������������������������������������������������������������������������125 Requirements Model �����������������������������������������������������������������������������������������������������������������126 Data Context and Control Context Diagrams (DCD, CCD) �����������������������������������������������������127 Data Flow and Control Flow Diagrams (DFD, CFD) ��������������������������������������������������������������129 PSPEC and CSPEC ���������������������������������������������������������������������������������������������������������������135 Timing Specification ������������������������������������������������������������������������������������������������������������137 Requirements Dictionary �����������������������������������������������������������������������������������������������������138 Architectural Model �������������������������������������������������������������������������������������������������������������139 Summary�����������������������������������������������������������������������������������������������������������������������������������140 Bibliography ������������������������������������������������������������������������������������������������������������������������������141 vii Table of ConTenTs Chapter 6: Process Architecture ���������������������������������������������������������������������������143 Proof of Concept �����������������������������������������������������������������������������������������������������������������������145 Hardware Recycling�������������������������������������������������������������������������������������������������������������147 Software Recycling ��������������������������������������������������������������������������������������������������������������148 Method Recycling ����������������������������������������������������������������������������������������������������������������148 Team Dynamics in Concept Release ������������������������������������������������������������������������������������148 Scrum and the Concept Release �����������������������������������������������������������������������������������������150 Architecture and Planning ���������������������������������������������������������������������������������������������������������153 Hardware Recycling�������������������������������������������������������������������������������������������������������������154 Software Recycling ��������������������������������������������������������������������������������������������������������������154 Method Recycling ����������������������������������������������������������������������������������������������������������������155 Team Dynamics �������������������������������������������������������������������������������������������������������������������155 Modules and Components Releases �����������������������������������������������������������������������������������������155 The Final Release ����������������������������������������������������������������������������������������������������������������������157 Departing from CPD and Landing on Structured Scrum ������������������������������������������������������157 Smoke Test ��������������������������������������������������������������������������������������������������������������������������������159 Agile Testing ������������������������������������������������������������������������������������������������������������������������������160 Summary�����������������������������������������������������������������������������������������������������������������������������������160 Chapter 7: Layers Model ���������������������������������������������������������������������������������������163 What Is a Model? ����������������������������������������������������������������������������������������������������������������������163 Process and Product Models ����������������������������������������������������������������������������������������������������164 Product’s Process Model �����������������������������������������������������������������������������������������������������166 Development Process Model �����������������������������������������������������������������������������������������������169 MBD Tools ���������������������������������������������������������������������������������������������������������������������������������172 MBD Utilization Steps����������������������������������������������������������������������������������������������������������������173 Layer Model and MBD ���������������������������������������������������������������������������������������������������������������174 MBD’s Build Process �����������������������������������������������������������������������������������������������������������������177 MBD in Layers Model ����������������������������������������������������������������������������������������������������������������179 MBD Platforms ��������������������������������������������������������������������������������������������������������������������������181 Summary�����������������������������������������������������������������������������������������������������������������������������������182 Bibliography ������������������������������������������������������������������������������������������������������������������������������182 viii Table of ConTenTs Chapter 8: MBD and Requirements Model ������������������������������������������������������������183 Product Model ���������������������������������������������������������������������������������������������������������������������������186 MBD and Process Model �����������������������������������������������������������������������������������������������������������195 Timing Specifications ����������������������������������������������������������������������������������������������������������196 Requirements Dictionary �����������������������������������������������������������������������������������������������������198 Real-Time Operating Systems ���������������������������������������������������������������������������������������������199 Database Architecture ���������������������������������������������������������������������������������������������������������200 Verification and Validation (V&V) �����������������������������������������������������������������������������������������201 Continuous Integration ��������������������������������������������������������������������������������������������������������203 Smoke Test ��������������������������������������������������������������������������������������������������������������������������203 Manufacturing Tests ������������������������������������������������������������������������������������������������������������204 Diagnostics ��������������������������������������������������������������������������������������������������������������������������204 Summary�����������������������������������������������������������������������������������������������������������������������������������205 Index ���������������������������������������������������������������������������������������������������������������������207 ix About the Author Mohsen Mirtalebi is a specialist in diagnostics software with Cummins Inc., a global power leader that designs, manufactures, sells, and services diesel and alternative fuel engines as well as related components and technologies. He has more than 10 years of experience in the engineering field. At Cummins, Mohsen leads a team of engineers, where he oversees the software quality meeting regulatory requirements by utilizing various data analysis tools, controls software reviews, as well as Agile and project management tools. Previously he worked for Rockwell Automation as a control firmware engineer, responsible for control algorithm design and implementation for motor drives utilizing MBD, and real-time operating systems. He has held other hardware/software positions at Danfoss, Emerson Process Management, and more. Computer skills include being a certified user of Matlab/Simulink, LabView/TestStand and Texas Instrument DSC/DSP products specializing in motion devices. Mohsen has a MS in Electrical Engineering with an emphasis on power electronics control and HIL/SIL/MIL. He has been a member of IEEE for 10 years. He is an advocate of STEM and has coached many robotics teams in grade schools. xi

Description:
Utilize a new layers-based development model for embedded systems using Agile techniques for software architecture and management. Firmware is comprised of both hardware and software, but the applicability of Agile in embedded systems development is new. This book provides a step-by-step process sho
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.