Software Product Lines
The rapid expansion of embedded software in products and systems in multiple market sectors, such as automobiles, mobile devices, aerospace, and defense, has driven manufacturers to create and maintain related software variants across product lines in an effort to leverage common hardware and features to control cost, accelerate time-to-market, and improve product quality. However, product line engineering for software-centric products requires effective planning, design, and reuse of software assets which has proven challenging for many manufacturers. Software Product Lines (SPL) is an emerging practice in the effort to manage the enormous complexity of software reuse within and across lines of manufactured products that rely heavily on embedded software for feature differentiation within the marketplace.
The Software Engineering Institute (SEI) at Carnegie Mellon University defines a software product line as "a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way."
Successful software product lines take advantage of the effective reuse of core software assets across families of related products. This requires efficient and effective harvesting and reuse of artifacts in all parts of the lifecycle including requirements, architecture and design models, code modules, and test cases, while maintaining traceability, configurations, change histories, and audit trails. Enabling asset reuse has been a tall challenge that is often impeded by the storage of logically related artifacts required to create a complete, reusable asset in multiple, disparate tools and repositories spread across multiple engineering groups. The result is nearly always a set of insurmountable barriers to the harvesting, cataloging, and collection of reusable assets.
PTC Integrity is a single, integral global software development product that provides a common artifact data model and workflow engine to store and manage all lifecycle artifacts, with common, underlying set of engineering services, including traceability, change management, version control, configuration and release management, access control, and audit. PTC Integrity also provides a robust set of interfaces to enable connection to other key enterprise systems and supply chain collaborators. Engineering organizations using PTC Integrity are able to implement efficient and effective software asset reuse strategies that are critical to the success of their software product lines.