Pittsburgh, PA 15213-3890 Integrating Domain Specific Modeling into the Production Method of a Software Product Line Gary Chastek John D. McGregor Sponsored by the U.S. Department of Defense © 2004 by Carnegie Mellon University page 1 Research Question How can product production be engineered to achieve the goals of a software product line? © 2004 by Carnegie Mellon University page 2 Overview Brief introduction to product production in a software product line (SPL) Method engineering in a SPL Our use of domain-specific modeling (DSM) in product production SPL connections to domain modeling Summary © 2004 by Carnegie Mellon University page 3 Product Production Software Product Line Production Production Production Development Strategy Method Plan Organization Product 1 Product 2 Product 3 Core Assets The Thegoal The core How What What is focus assets can to does processes, reduce product ofand the our product the work development models, risk is to on developer production product product andsatisfy technologies line need production system the organizations toorganization’s know must can asto be abeeffectively system jointly used by providing goals engineered tothat is explicit engineered totechniques achieve toensure utilize have thefororganization’s specified the for consistency strategizing core the software assets production and across goals toproduct planning develop for qualities thethe core line? for products? software assets? and product predictable product production. line. outputs. © 2004 by Carnegie Mellon University page 4 Goal-driven Method Engineering Method engineering is the systematic definition of software development methods. A method captures the processes, techniques, and models required to execute a software development effort. For example, an object-oriented software development method defines specific modeling notations, languages, and iterative processes that work together to support effective software development. Goal-driven means that method definition is driven by the specific goals to be achieved. © 2004 by Carnegie Mellon University page 5 Method Engineering in a SPL The production method is derived from the production strategy and the production techniques are based on the specific product production goals For example • if the production strategy includes the goal to enable domain knowledgeable individuals to build products • the method - must support complete specification of a product using only domain vocabulary - must enable building a product automatically from that domain-based specification © 2004 by Carnegie Mellon University page 6 Arcade Game Maker (AGM) Research SPL developed at Clemson • 3 games (Brickles, Pong, and Bowling) • 3 targets (PC, Wireless device, Customized) Third increment of AGM • Customized “giveaways” • Based on the domain expertise from the previous increments, used domain modeling approach • Used MetaEdit+ © 2004 by Carnegie Mellon University page 7 DSM and SPLs Current connections: • FODA developed at SEI • Product Line Analysis based on feature modeling • Understanding Relevant Domains (URD) is one of the 29 practice areas defined in the SEI SPL Framework • URD used in the What to Build Pattern • Our preliminary work using DSM in product production © 2004 by Carnegie Mellon University page 8 Our Open Questions When is DSM the most appropriate technology for a software product line? • When production goals relate to domain knowledgeable personnel? • When the domain is sufficiently well specified? Are there explicit limitations when the method engineer should not choose DSM for the production method? © 2004 by Carnegie Mellon University page 9 Summary Conclusion so far: SPLs should be engineered by • explicitly setting product production goals • considering product production early (before core asset design) • focusing on domain knowledge • merging these concerns Conjecture: SPLs might be better designed and implemented by • domain modeling • using a domain-specific language that supports an aspect-like mechanism for dealing with product variability © 2004 by Carnegie Mellon University page 10