Custom Search
----------------------------------------------- Blogger Template Style Name: Awesome Inc. Designer: Tina Chen URL: tinachen.org ----------------------------------------------- */ /* Variable definitions ==================== */ /* Content ----------------------------------------------- */ body { font: normal normal 13px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; background: #000000 url(http://www.blogblog.com/1kt/awesomeinc/body_background_dark.png) repeat scroll top left; } html body .content-outer { min-width: 0; max-width: 100%; width: 100%; } a:link { text-decoration: none; color: #888888; } a:visited { text-decoration: none; color: #444444; } a:hover { text-decoration: underline; color: #cccccc; } .body-fauxcolumn-outer .cap-top { position: absolute; z-index: 1; height: 276px; width: 100%; background: transparent url(http://www.blogblog.com/1kt/awesomeinc/body_gradient_dark.png) repeat-x scroll top left; _background-image: none; } /* Columns ----------------------------------------------- */ .content-inner { padding: 0; } .header-inner .section { margin: 0 16px; } .tabs-inner .section { margin: 0 16px; } .main-inner { padding-top: 30px; } .main-inner .column-center-inner, .main-inner .column-left-inner, .main-inner .column-right-inner { padding: 0 5px; } *+html body .main-inner .column-center-inner { margin-top: -30px; } #layout .main-inner .column-center-inner { margin-top: 0; } /* Header ----------------------------------------------- */ .header-outer { margin: 0 0 0 0; background: transparent none repeat scroll 0 0; } .Header h1 { font: normal bold 40px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; text-shadow: 0 0 -1px #000000; } .Header h1 a { color: #ffffff; } .Header .description { font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } .header-inner .Header .titlewrapper, .header-inner .Header .descriptionwrapper { padding-left: 0; padding-right: 0; margin-bottom: 0; } .header-inner .Header .titlewrapper { padding-top: 22px; } /* Tabs ----------------------------------------------- */ .tabs-outer { overflow: hidden; position: relative; background: #141414 none repeat scroll 0 0; } #layout .tabs-outer { overflow: visible; } .tabs-cap-top, .tabs-cap-bottom { position: absolute; width: 100%; border-top: 1px solid #222222; } .tabs-cap-bottom { bottom: 0; } .tabs-inner .widget li a { display: inline-block; margin: 0; padding: .6em 1.5em; font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; border-top: 1px solid #222222; border-bottom: 1px solid #222222; border-left: 1px solid #222222; } .tabs-inner .widget li:last-child a { border-right: 1px solid #222222; } .tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover { background: #444444 none repeat-x scroll 0 -100px; color: #ffffff; } /* Headings ----------------------------------------------- */ h2 { font: normal bold 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } /* Widgets ----------------------------------------------- */ .main-inner .section { margin: 0 27px; padding: 0; } .main-inner .column-left-outer, .main-inner .column-right-outer { margin-top: 0; } #layout .main-inner .column-left-outer, #layout .main-inner .column-right-outer { margin-top: 0; } .main-inner .column-left-inner, .main-inner .column-right-inner { background: transparent none repeat 0 0; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; } #layout .main-inner .column-left-inner, #layout .main-inner .column-right-inner { margin-top: 0; } .sidebar .widget { font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } .sidebar .widget a:link { color: #888888; } .sidebar .widget a:visited { color: #444444; } .sidebar .widget a:hover { color: #cccccc; } .sidebar .widget h2 { text-shadow: 0 0 -1px #000000; } .main-inner .widget { background-color: #141414; border: 1px solid #222222; padding: 0 15px 15px; margin: 20px -16px; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; } .main-inner .widget h2 { margin: 0 -15px; padding: .6em 15px .5em; border-bottom: 1px solid #000000; } .footer-inner .widget h2 { padding: 0 0 .4em; border-bottom: 1px solid #000000; } .main-inner .widget h2 + div, .footer-inner .widget h2 + div { border-top: 1px solid #222222; padding-top: 8px; } .main-inner .widget .widget-content { margin: 0 -15px; padding: 7px 15px 0; } .main-inner .widget ul, .main-inner .widget #ArchiveList ul.flat { margin: -8px -15px 0; padding: 0; list-style: none; } .main-inner .widget #ArchiveList { margin: -8px 0 0; } .main-inner .widget ul li, .main-inner .widget #ArchiveList ul.flat li { padding: .5em 15px; text-indent: 0; color: #666666; border-top: 1px solid #222222; border-bottom: 1px solid #000000; } .main-inner .widget #ArchiveList ul li { padding-top: .25em; padding-bottom: .25em; } .main-inner .widget ul li:first-child, .main-inner .widget #ArchiveList ul.flat li:first-child { border-top: none; } .main-inner .widget ul li:last-child, .main-inner .widget #ArchiveList ul.flat li:last-child { border-bottom: none; } .post-body { position: relative; } .main-inner .widget .post-body ul { padding: 0 2.5em; margin: .5em 0; list-style: disc; } .main-inner .widget .post-body ul li { padding: 0.25em 0; margin-bottom: .25em; color: #ffffff; border: none; } .footer-inner .widget ul { padding: 0; list-style: none; } .widget .zippy { color: #666666; } /* Posts ----------------------------------------------- */ body .main-inner .Blog { padding: 0; margin-bottom: 1em; background-color: transparent; border: none; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); } .main-inner .section:last-child .Blog:last-child { padding: 0; margin-bottom: 1em; } .main-inner .widget h2.date-header { margin: 0 -15px 1px; padding: 0 0 0 0; font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #666666; background: transparent none no-repeat scroll top left; border-top: 0 solid #222222; border-bottom: 1px solid #000000; -moz-border-radius-topleft: 0; -moz-border-radius-topright: 0; -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 0; border-top-left-radius: 0; border-top-right-radius: 0; position: static; bottom: 100%; right: 15px; text-shadow: 0 0 -1px #000000; } .main-inner .widget h2.date-header span { font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; display: block; padding: .5em 15px; border-left: 0 solid #222222; border-right: 0 solid #222222; } .date-outer { position: relative; margin: 30px 0 20px; padding: 0 15px; background-color: #141414; border: 1px solid #222222; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; } .date-outer:first-child { margin-top: 0; } .date-outer:last-child { margin-bottom: 20px; -moz-border-radius-bottomleft: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-left-radius: 0; -webkit-border-bottom-right-radius: 0; -goog-ms-border-bottom-left-radius: 0; -goog-ms-border-bottom-right-radius: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .date-posts { margin: 0 -15px; padding: 0 15px; clear: both; } .post-outer, .inline-ad { border-top: 1px solid #222222; margin: 0 -15px; padding: 15px 15px; } .post-outer { padding-bottom: 10px; } .post-outer:first-child { padding-top: 0; border-top: none; } .post-outer:last-child, .inline-ad:last-child { border-bottom: none; } .post-body { position: relative; } .post-body img { padding: 8px; background: #222222; border: 1px solid transparent; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; } h3.post-title, h4 { font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } h3.post-title a { font: normal bold 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } h3.post-title a:hover { color: #cccccc; text-decoration: underline; } .post-header { margin: 0 0 1em; } .post-body { line-height: 1.4; } .post-outer h2 { color: #ffffff; } .post-footer { margin: 1.5em 0 0; } #blog-pager { padding: 15px; font-size: 120%; background-color: #141414; border: 1px solid #222222; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); -moz-border-radius: 0; -webkit-border-radius: 0; -goog-ms-border-radius: 0; border-radius: 0; -moz-border-radius-topleft: 0; -moz-border-radius-topright: 0; -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 0; -goog-ms-border-top-left-radius: 0; -goog-ms-border-top-right-radius: 0; border-top-left-radius: 0; border-top-right-radius-topright: 0; margin-top: 1em; } .blog-feeds, .post-feeds { margin: 1em 0; text-align: center; color: #ffffff; } .blog-feeds a, .post-feeds a { color: #888888; } .blog-feeds a:visited, .post-feeds a:visited { color: #444444; } .blog-feeds a:hover, .post-feeds a:hover { color: #cccccc; } .post-outer .comments { margin-top: 2em; } /* Footer ----------------------------------------------- */ .footer-outer { margin: -0 0 -1px; padding: 0 0 0; color: #ffffff; overflow: hidden; } .footer-fauxborder-left { border-top: 1px solid #222222; background: #141414 none repeat scroll 0 0; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .2); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .2); box-shadow: 0 0 0 rgba(0, 0, 0, .2); margin: 0 -0; } /* Mobile ----------------------------------------------- */ *+html body.mobile .main-inner .column-center-inner { margin-top: 0; } .mobile .main-inner { padding-top: 0; } .mobile .main-inner .widget { padding: 0 0 15px; } .mobile .main-inner .widget h2 + div, .mobile .footer-inner .widget h2 + div { border-top: none; padding-top: 0; } .mobile .footer-inner .widget h2 { padding: 0.5em 0; border-bottom: none; } .mobile .main-inner .widget .widget-content { margin: 0; padding: 7px 0 0; } .mobile .main-inner .widget ul, .mobile .main-inner .widget #ArchiveList ul.flat { margin: 0 -15px 0; } .mobile .main-inner .widget h2.date-header { right: 0; } .mobile .date-header span { padding: 0.4em 0; } .mobile .date-outer:first-child { margin-bottom: 0; border: 1px solid #222222; -moz-border-radius-topleft: 0; -moz-border-radius-topright: 0; -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 0; -goog-ms-border-top-left-radius: 0; -goog-ms-border-top-right-radius: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .mobile .date-outer { border-color: #222222; border-width: 0 1px 1px; } .mobile .date-outer:last-child { margin-bottom: 0; } .mobile .main-inner { padding: 20px 10px; } .mobile .header-inner .section { margin: 0; } .mobile .post-outer, .mobile .inline-ad { padding: 5px 0; } .mobile .tabs-inner .section { margin: 0 10px; } .mobile .main-inner .section { margin: 0; } .mobile .main-inner .widget h2 { margin: 0; padding: 0; } .mobile .main-inner .widget h2.date-header span { padding: 0; } .mobile .main-inner .widget .widget-content { margin: 0; padding: 7px 0 0; } .mobile .main-inner .column-center-inner, .mobile .main-inner .column-left-inner, .mobile .main-inner .column-right-inner { padding: 0; } .mobile .main-inner .column-left-inner, .mobile .main-inner .column-right-inner { background: transparent none repeat 0 0; -moz-box-shadow: none; -webkit-box-shadow: none; -goog-ms-box-shadow: none; box-shadow: none; } .mobile .date-posts { margin: 0; padding: 0; } .mobile .footer-fauxborder-left { margin: 0; } .mobile .main-inner .section:last-child .Blog:last-child { margin-bottom: 0; } .mobile .mobile-link-button { background: #444444 none repeat-x scroll 0 -100px; } .mobile-link-button a:link, .mobile-link-button a:visited { color: #ffffff; } -->

Thursday, January 13, 2011

Project Design V&V Process & Debug Process Review


      Certifying embedded software to meet project requirements can be challenging and expensive.  You need the best tools to simplify and to shorten the process while reducing overall costs and increasing overall quality.  The tools are necessary, but by themselves they are insufficient.  You also need an approach, a process, to tie the tools together.  The process will incorporate architecture, providing structure and procedures.  With the addition of best practice guidelines gained from experience, the process becomes a full-blown methodology.  You will also need support to help in the transition to a new toolset and a new methodology.  Besides training, support can customize the tools for your specific needs, help to integrate legacy code, and provide expertise with the use of the tools.  So a total solution is comprised of the triad: software tools, a methodology, and support.



Figure 1 Solution Triad - Software Tools, a Methodology, and Support


      I have effectively used the defined Solution Triad to facilitate project management
responsibilities that I have been involved with.  Representative project Areas include the vertical markets of video phone design, vehicles; both commercial and military and industrial
automation. I favor the traditional “requirements v” approach to establish the foundation of my
project management strategy.  I have led project management teams to develop products as well as system integration efforts. Project team management utilized techniques from such methodologies as QED and TRIZ.
     Managing and preserving intellectual property is one of the key aspects of project management today. In a technical world where there are hundreds of ways in which a potential product/system integration effort can be rolled out the way in which your organizations I.P. can be packaged and transferred as “value add” or protected can become a huge corporate advantage.

Keeping the Process Simple




Here is a close look at my favorite project kick off approach. Define things in the below fashion.

Figure 1 Traditional V Process

      Software Verification & Validation (V&V) is a system engineering process for evaluating the correctness and quality of a software product throughout its life cycle.  It employs a variety of software engineering methods, techniques, and tools.   Unintentionally overlooked during the beginning of a product’s life cycle, the costs of V&V rise dramatically the longer it is deferred.  V&V is not easy because
·      Software applications are numerous, novel, and complex.
·      Each application has unique design elements and a large number of potential states or modes.
·      Although software technology is essentially unlimited in its applicability to real world problems, it is extremely sensitive to minor details in program and/or data.
·      Software products are difficult to specify with precision and difficult to test exhaustively.  Often they are engineered with immature processes.

In projects several years ago I worked with several types of debug and V&V tools. They were from TNI-Valiosys and Multiprocessor Toolsmith’s. I’m sure that today there is more robust tools and will be researching and reporting on them in future posts.

 

No comments:

Post a Comment