Product line engineering (PLE) is a product development method that establishes a procedure for developing a family of similar products. The entire family is called a product line, while a concrete product in that family is called a product variant. The usual approach for developing such a family is to develop one product and then copy and modify the design documents for all subsequent products (the so-called clone-and-own approach). But this approach is rife with problems - it is difficult to make changes common to all products across the board. Also, traceability is greatly impaired - it is hard to do impact analysis. By contrast, the PLE approach prescribes that a user makes a common design that encompasses the entire variability spectrum of the products. This design is called a superset model (aka a 150% model) of the system. The available feature choices are then described (usually in a separate document/tool than the system design documents), and a connection is established between the feature choices and particular points in the design that need to vary depending on the feature choice (these points are called variation points). A particular product of the family is then defined by making specific feature choices. A design for a particular product (aka 100% model) can then be produced by taking the design documents of the family and narrowing it down according to the feature choices of that product. This procedure is usually performed with a PLE tool. The important thing to note here is that design documentation consists of various kinds of documents (assets) - requirements, system models, code, test cases, documentation and so on. The PLE tool must be able to operate on every kind of the asset to produce consistent design documents of the product. This usually requires that the PLE tool integrates with all the tools in the tool stack used to design the system. No Magic, Inc. presents the Product Line Engineering plugin, allowing you to generate a particular model variant from the whole superset model. In the documentation, you can find descriptions as follows:Introduction to Product Line Engineering
MagicDraw dynamically creates a system model of a particular variant