FAQ: General Questions About VSC products
- What are verification, validation and certification products?
- Can VSC certify my product?
- How does VSC make the process easier, more affordable and improve my odds of success?
- Our customers are asking about software certification but it isn’t a requirement… Yet. What can we do to prepare?
- Our marketing department is starting to ask questions about certifying our software. One does not exist for our specific industry/product/niche. How can we begin to prepare for it?
- Do Validation Suites exist that include support for the application code also?
- Do you do software development in addition to providing your validation products?
- What are the factors that are considered in the licensing?
- How is the price of a Validation Suite determined?
- How is the price of a Validation Kit determined?
- What are the common elements involved in Validation Suite and Validation Kit pricing?
- What is a “porting kit”?
- What makes the Kits portable i.e. independent of testing tools with respect to the Core VS.
- What other factors contribute to the cost associated with a Suite or Kit?
- How do I get a product quote?
- What is the process for purchasing a Validation Suite?
- What if I need budgetary information but we have not finalized the details yet?
- Why should I consider using a Validation Suite?
- How do Kits and Suites work?
- How long does it take VSC to create a Validation Suite?
- What are our options if a µC/OS port is not available from Micrium?
- What other things could delay the delivery of a Validation Suite (or kit)?
- How long will it take me to create a Validation Kit?
- What are your invoicing practices and general payment terms?
- What is left for me to do when I get a Validation Suite?
VSC provides products and services that help you create software and products that comply with a variety of safety standards used for medical, avionics, transportation, and industrial equipment. Validation Templates provide the structure for your development and test program while Validation Kits and Validation Suites provide an expedient and affordable way to use µC/OS-II in a certified product. We supplement our products with decades of experience in the field of developing software for safety critical devices.
A coarse breakdown is along the lines of Products and Services:
Services can be broken down into three categories:
- Software development services that typically provide low-level, processor or board support. The most common areas are hardware abstraction layers such as µC/OS-II port code, and drivers;
- Creating the development and test artifacts for new µC/OS-II ports, drivers and low level software;
- Creating the development and test artifacts for third party software i.e. Run-time-libraries, and application code.
Products can be broken into two categories:
- Certification artifacts that apply to µC/OS-II, i.e., standard centric Validation Suites and Validation Kits;
- Industry standard specific Validation Templates that are used to put a standards compliant development and test program in place.
No, VSC is not a certification agency. Our products and services are oriented to help you take your product through certification. We can make the process easier, more affordable and improve the likely hood of achieving certification.
The road to certification is a multistep process. Having your product certified is the final step in that process. However, it is essential that you start on the road to certification the right way, as well as continue to do the right things along the way to ensure that your journey ends with a successful device certification. Different countries, regions, industries and standards have different ways of conferring your device certification but they all depend on you creating and following a compliant development and test program. This is where VSC’s products and services come into play.
1) Validation Templates may be used by anyone and any software program, no constraints are placed on languages used, processors, software, development tools, etc. Our industry specific Validation Templates supply the foundation for a compliant development and test program, which in turn is the basis for successful software certification.
2) Validation Kits and Validation Suites are specifically developed to reduce or eliminate the certification burden associated with embedding Micrium’s µC/OS RTOS in their device.
VSC’s Verification, Validation and Certification services offer the same value proposition as our products. We don’t do everything; our focus is on the areas where we can clearly deliver differentiating value.
1) Create µC/OS oriented port, driver and other low-level software. The various software components and their supporting artifacts are delivered integrated and ready to submit self-contained Validation Suite
2) Create submission ready certification artifacts for pre-existing or legacy third party software. This is the case for a growing list of run-time-libraries, graphical and connectivity software. Its original conception didn’t include any provisions for use in safety critical markets.
VSC is expert at applying standard compliant reverse engineering methods to pre-existing source code. VSC works closely with all stakeholders to ensure that any coding or architectural issues are identified and resolved as early in the process as possible.
At the end, you will submit your product and development artifacts i.e. the evidence that it was created and maintained in a compliant manner to the applicable notifying body for review. It is they who will provide the certification of compliance.
This is a situation that is becoming the norm for many software suppliers. It may be that they provide software that is ultimately used in a certified device and the onus for certification is not placed directly on them. However, the day will come when their customer adds this to their requirements. Others foresee the need to preparing for the day their device will require certification. In many ways, this is the ideal situation for starting down the path to creating compliant software. The choice to phase in the processes, activities and tasks associated with a compliant development and test program is preferable to transitioning over the course of a single project. Better to do it in steps than all at once were your gains may be overshadowed by the prospect of a failed certification.
For the uninitiated, the process can be quite stressful. Management may see it as an unnecessary added expense. Having the backing of management is essential. While many of the processes and procedures utilized in compliant programs may be familiar, developers may not be using them with the rigor that is required in a compliant program. This is an opportunity to introduce structure into the front end of the process which coincidentally tends to return measureable improvements to the metrics that management is most interested in i.e. improved quality, greater customer satisfaction, reduced support and maintenance costs are a few of the benefits derived from starting down the path of compliant software.
Additionally, it is important to note that setting up a development and test program will affect not only the developers but also QA and test teams as well.
Some background is useful at this point. Medical Device Standards, Avionics Equipment, Industrial Control, etc. all invoke a common theme. Each of these niches have specific concerns and uses and to be frank have a different scope with respect to device failure. For example, having a catastrophic failure of a safety system at a nuclear facility has a completely different scope than that of a pace maker. A great deal of what differentiates one standard from the next concerns topics such as hazard, risk, etc.
A second theme is that the certification is applied to equipment and systems. The device is a melding of both hardware and software. The requirements for the device as a whole are broken into those required of the hardware and those required of the software. Again, much of the difference between different standards is associated with the hazard, and risk, its categorization and overall architecture of the safety system. So, what does a compliant development and test program look like to the software team at this point?
The software team is presented with a set of software requirements. They create a plan(s) describing:
- How these high level requirements are decomposed into low level requirements
- How the low level requirements are created from the high-level requirements
- How to verify that the requirements were satisfied
- How to test the assumption that the requirements were satisfied
Supporting evidence i.e. artifacts demonstrating compliance include:
- Software designs
- Source code for product as well as test code
- Design review check lists
- Code review forms
- Document review forms
Validation Templates - Provide essential infrastructure, processes, and procedures needed to establish a standards compliant development and test program. They are also used to provide a benchmark for gap analysis and to tune existing development and test programs. Validation Templates are available for the dominant software development standards used in markets such as Avionics, Industrial Process Control, Oil & Gas, Transportation (Rail), and Medial equipment.
Validation Templates are implemented as set of samples, examples, forms and templates that are populated with real-world content that has been successfully submitted during past device certifications. The division between boiler plate content and the content that the user is expected to adapt to their own use is clearly marked and its use is detailed in the user’s manual. Their content specifically references the use of “C” as the language, the specific compiler, requirements tracing tool and testing tools. They even contain a complete “C” and Assembly coding standards.
Their purpose is to demonstrate one method to navigate the requirements and objectives of the applicable standard using a concrete example that is threaded throughout the template set. So while the configuration management plan may reference SVN as the revision management system, the plan, processes, procedures and philosophy apply to any configuration management tool. Validation Templates are provided in Microsoft Word format and offer 100% flexibility in how the user ultimately adapts them for their own unique development culture and the requirements of their project.
Where do you start? At the beginning, verification and validation answer the questions “Did I build the right thing?”, and “Did I build it correctly”. The ability to answer depends on starting your project with the end goal and the means to achieve it planned out in advance.
Same answer as previous.
No. If you are new to safety-critical development, we off Validation Templates that can help with setting up a compliant development process. Additionally VSC can assist with creating the necessary artifacts through our consulting and mentoring services.
Yes, VSC has a great deal of experience in creating µC/OS-II hardware abstraction layers (ports), drivers and other low level processor and board software (BSPs). All software developed by VSC includes supporting certification artifacts for the applicable standard.
The licensing for both Kits and Suites share a great deal of similarities to the common no-royalties RTOS model that is used in the embedded industry. However, while similar to, it isn’t exactly the same. There are several reasons for this. Because one of the required components supporting the test harness is both processor and toolset specific the concept of multi-processor licensing does not exist. There are some exceptions to this but they are exceptions that apply the Valid-62304 product. So, generally speaking you can think of the licensing having a natural constraint that is imposed by the processor and tools used. It may however applied to more than one product be i.e. a series of variants in a product line that use the same processor and tools. There may be exceptions that apply to avionics equipment but one assumption that is applied to other segments is that it is the licensee that 1) produced the end product and 2) takes the product through certification. The rationale for this is that we know and control who has access to our intellectual property.
To summarize, The standard license grants you certain rights:
That apply to a business unit, development group, or division
The rights are royalty free, perpetual and apply on a worldwide basis
To use the artifacts to certify one of more end products that you produce
To provide the artifacts to one of more certifying agencies
The main thrust of our licensing is to protect our intellectual property. Since our goal is to compliment, not constrain the way you do business. In the event that our standard licensing model isn’t the ideal model for your application, we will consider almost any scenario that can be imagined and do it at an attractive price.
Both Kit and Suite use the Common Core VS (Validation Suite). The Core VS is a pre-existing component that has an update schedule that is synchronized with µC/OS. The Core VS only changes to accommodate upgrades and enhancement that are made to µC/OS itself. Like the µC/OS core software, the Core VS makes up approximately 90% of the total package. You may compare the Core VS to the µC/OS code prior to being instantiated for a specific processor where that process entails creating the µC/OS port layer for the processor and tools. We view the Core VS as a product, it may be used as is for either Kit or Suite and does not require any modification or post processing. The Core VS is a price sheet item and is priced the same for both kit and suite.
TThe second part of the price equation is the associated with the µC/OS port software. Since there are many different variants of processors that the user can choose from, that software is new software and does not have a set of preexisting certification artifacts to support its use on the specific processor. While the end result is the same, there are two routes that may be taken when creating a Validation Suite:
- VSC staff starts with a Validation Kit, and using the porting kit creates the appropriate certification artifacts for the specific processor
- The user starts with a Validation Kit and using the porting kit creates the appropriate certification artifacts for the specific processor
The final price that you pay is determined by:
- Validation Suite Price (Suite Route) = Core VS (Criticality) + Porting Kit + VSC Labor
- Validation Suite Price (Kit Route) = Core VS (Criticality) + Porting Kit + User Labor
Validation Suites are made up of the certification artifacts that support the Core µC/OS software, AND the certification artifacts for the µC/OS hardware abstraction layer (Port Software) that glues the non-architecturally dependent µC/OS code to your processor and compiler. The porting kit was originally created as a standardized tool that is used by VSC to create the µC/OS port software certification artifacts. /p>
At the highest level, Validation Suites may viewed at two different classes of certification artifacts – Those that are related to the processes, activities and tasks associated with creating the software and those that are related to testing the assumptions that the software is based on. A Validation Kit with its Core VS is similar to µC/OS prior to it being ported to a specific processor and toolset. It is the porting kit which allows the user to port the Validation Kit to the processor and toolset used for your project. In addition to a set of samples, examples and templates you use to create the certification artifacts for the µC/OS port software, VSC provides both the unit test and integration test code that you will use to verify that your test results match those contained in the Core VS. The integration test code is provided as “C” source code. The integration code is provided in object format and requires linking to the Cantata RTL that is contained in the porting kit.
The Core VS is supplied in PDF format. This includes the unit and integration test results that VSC gathers and includes with the Core VS. VSC includes both the unit test code and the integration test code that you use to verify the results that are included in the Core VS. The integration test code is provided in source format that you compile and run on your target. Additionally, you may use this code as the basis for more extensive testing by extending it to include other aspects of your system.
The unit test code is provided in object format. It must be compiled and linked with a set of libraries that are created for your compiler and processor. The “Cantata RTL” is what allows the unit testing to be performed across a spectrum of processor/toolset combinations. Within the population of processors and tools that we commonly deliver Suites and Kits for, we provide the Cantata RTL at no additional cost.
However, if the appropriate Cantata Libraries do not exist, or are significantly out of date VSC will have to create them from scratch. A minimum of one work week is required to create a new set of Cantata run-time-libraries.
While it isn’t an issue for the compilers and processor architectures that we support on a routine basis, the availability and freshness of Cantata runtime libraries that are used as part of the unit testing process may factor into the price of both a Suite or Kit.
Call +1.760.230.5299 or send a request to firstname.lastname@example.org.
See our “How to Purchase VSC Products FAQ”
See our “How to Purchase VSC Products FAQ”
Validation Suites contain the software development lifecycle artifacts for µC/OS-II. Validation Suites are standard specific, compiler specific and contain unit testing and integration testing results for your processor or equivalent test platform. Validation Suites support all µC/OS-II APIs and services as well as permissible µC/OS-II configurations.
If you are using µC/OS-II and you are developing a device that will be certified. Validation Suites offer a number of advantages. Because Validation Suites support all APIs and Services they provide a buffer against changing product requirements as well as provide a foundation that easily supports multiple product variants. As long as the µC/OS-II version, the µC/OS-II hardware abstraction layer, and the compiler remain unchanged the single Validation Suite will satisfy the requirements for the different device variants
Validation Suites are packaged as a self-contained module that is easily and quickly integrated with anyone’s development program. Validation Suites free up development and test staff so that they may work on more important tasks. VSC delivered its first Validation Suites for avionics DO-178B in 1999. Since that time the family of µC/OS-II Validation Suites has grown to include the dominant standards used for Medical Devices, Industrial and process control equipment, oil and gas equipment, transportation and avionics. Using Validation Suites, µC/OS-II has been embedded in certified devices using a variety of processors spanning DSPs, PowerPC, ARM, Cortex and many other 32-bit processors. These benefits and many of the handmade available at a fraction of the deal would cost to develop in-house.
The premise is simple and it is based on the principle of abstraction. The µC/OS-II APIs and Services have been architected so that their function is not dependent on the architecture of the underlying hardware. On a version by version basis, the same µC/OS-II code that can be compiled to run on your desk top computer is the same source code that is compiled to run on a DSP, will compile and run on any other processor architectures such as an ARM Cortex M3, PowerPC, etc.
It is the µC/OS hardware abstraction layer (aka Port software) that provides the mapping between the unique processor attributes and the standardized data structures and resources implemented in µC/OS. Differing only in scope the same principle applies to both Validation Suites and Validation Kits.
A Validation Suite contains 100% of the certification artifacts needed to demonstrate that the version of µC/OS and abstraction layer that is embedded in your device is certifiable. Like µC/OS the Core of the Validation Suite is static on a version by version basis and can be used across a gamut of different processors and architectures. It is the process of creating the port aspects of certification for the µC/OS hardware abstraction layer and verifying the test results that produce the processor specific Validation Suite
Validation Kits were originally created as an internal tool that provided a standardized basis for the creation of Validation Suites. It consists of the Core Validation Suite for the µC/OS version and the applicable standard plus a set of partially completed set of certification artifacts. The term “partially completed” is used because the kit may be applied (or ported) to any processor that µC/OS is running on. All but the details depending on the processor are contained in those “partially complete” artifacts.
Completing the Validation Kit involves three activities:
1. Finalize the “partially completed” port aspects of certification for the specific µC/OS port code your processor uses
2. Follow the port software test plan you created as part of your port aspects of certification
3. Using the test code that VSC provides, verify that the unit test and integration test results contained in the Core Validation Suite match your results
Congratulations, you now have a Validation Suite for your processor.
If you order a Validation Suite from VSC (as opposed to a Validation Kit) we typically plan for 60 days from start to finish. While we may be able to do it in as little as half the time, 60 days allows for some padding to accommodate the unexpected i.e. faulty hardware, problematic software licenses, etc. However, there are a number of factors which may affect the start date between you receiving your quote and VSC starting on your order. If the delivery of a Validation Suite is part of your near term critical path, please get your order in early. Aside from your purchase order, deposits, etc. authorizing our work, in order to start work on your Validation Suite you will need to provide or ensure that we can acquire:
- The µC/OS port software for your processor
- All software required to develop your Validation Suite (compiler, IDE, SDK, etc.),
- Development board(s), debugger compatible JTAG connection, etc.
If Micrium does not have a port for your specific processor available, don’t worry. VSC can also provide your port software so that you get up and running fast. Often times we can provide your port and completed Validation Suite within a 60 day period. Your other option would be to create it yourself. If you go that route, we have some guidance that will make the overall process go much smother.
While VSC can take your order, start your order, complete your order and invoice you for the work we cannot ship it without having:
- A signed VSC EULA
- Evidence of a valid µC/OS License between you and Micrium*
* Both the Validation Kit and Validation Suite contain µC/OS source code
That is a difficult question to answer. Using the Kit is not tied to any specific tool. Our kits have been refined over many years to make them portable and usable across a wide spectrum of customer environments. Internally we use RequisitePro, TestTrack, SVN, Surround SCM, the project compiler, debugger and JTAG, etc. but the kits are not tied to their use. Our kits contain all essential elements such as test code and can be converted into suites with as little as the project complier, evaluation board, debugger, JTAG, and standard MS Office software. Using the same kits as those delivered to our customers, and without any proprietary tools not available to the general public, VSC staff routinely do it in less than 60 days.
Some customers have reported creating their Validation Suite in as little as six weeks. If it is your first exposure to our µC/OS based Verification Validation and Certification products it is likely to take longer.
However, having access to more sophisticated tools such as requirements tracing software, and testing tools (for the port software) will aid in accelerating progress. Familiarity with the standard and experience are thought to be the determining factor though.
A deposit may or may not be required. Excluding the topic of deposit, VSC invoices for the value listed on the quote for the item shipped as it is shipped. An example would be: In addition to a Validation Suite VSC was also providing the µC/OS port software for the processor. This would typically result in three invoices:
- VSC ships and invoices the Core VS
- VSC creates the µC/OS port, delivers and invoices it
- VSC creates and ships the complete Validation Suite as the final delivery; invoices the balance.
If a Validation Suite and nothing else is ordered then the following would apply:
- VSC ships and invoices the Core VS
- VSC creates and ships the complete Validation Suite as the final delivery.
- The final delivery contains all prior elements of the order and any updates or modifications made prior to final delivery.
The initial and intermediate deliveries are made available via a secure FTP account that will be provided to you at the time of order acceptance. Your final delivery will be made available via FTP in addition to the DVD that is shipped to you.
Payment terms are 3% 10 days, Net 30. Longer terms are possible but include a 15% surcharge for an additional 30 days and 25% surcharge for terms longer than 60 days.
As the system integrator, you selected µC/OS-II because it provides features and functions that satisfy a subset of your system requirements. Your µC/OS Validation Suite provides the necessary artifacts that demonstrate that µC/OS was developed and maintained in accordance with your applicable standard and required criticality (SIL, Level, Class). It is provided as a stand-alone, module that you will check into your revision control system. You will need to reference its use in your planning and summary documentation as well as any other documentation that is dictated by your internal policies and the applicable standard. An integration manual is provided with the Validation Suite. The integration manual describes remaining tasks and suggestions for integration into your project.