skip to main content
Skip header Section
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and ToolsJuly 2004
Publisher:
  • John Wiley & Sons, Inc.
  • 111 River Street
  • Hoboken
  • NJ
  • United States
ISBN:978-0-471-20284-4
Published:01 July 2004
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Chavarriaga J, Casallas R, Parra C, Henao-Mejía M and Calle-Archila C Nine Years of Courses on Software Product Lines at Universidad de los Andes, Colombia Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B, (130-133)
  2. Montalvillo L and Díaz O (2016). Requirement-driven evolution in software product lines, Journal of Systems and Software, 122:C, (110-143), Online publication date: 1-Dec-2016.
  3. Tanhaei M, Habibi J and Mirian-Hosseinabadi S (2016). Automating feature model refactoring, Information and Software Technology, 80:C, (138-157), Online publication date: 1-Dec-2016.
  4. Sulír M, Nosáľ M and Porubän J (2016). Recording concerns in source code using annotations, Computer Languages, Systems and Structures, 46:C, (44-65), Online publication date: 1-Nov-2016.
  5. Gatrell M (2016). The Value of a Single Solution for End-to-End ALM Tool Support, IEEE Software, 33:5, (103-105), Online publication date: 1-Sep-2016.
  6. Cantor M, MacIsaac B and Mannan R (2016). Steering Software Development Workflow: Lessons from the Internet, IEEE Software, 33:5, (96-102), Online publication date: 1-Sep-2016.
  7. Bocciarelli P and D'Ambrogio A Modeling-to-simulation Proceedings of the Summer Computer Simulation Conference, (1-8)
  8. ACM
    Cherouana A, Aouine A and Mahdaoui L A Workflow-Based Solution for the Law Study Process Management Proceedings of the 2015 2nd International Conference on Electronic Governance and Open Society: Challenges in Eurasia, (133-138)
  9. Rodrigues da Silva A (2015). Model-driven engineering, Computer Languages, Systems and Structures, 43:C, (139-155), Online publication date: 1-Oct-2015.
  10. ACM
    Langlois B, Exertier D and Zendagui B Development of Modelling Frameworks and Viewpoints with Kitalpha Proceedings of the 14th Workshop on Domain-Specific Modeling, (19-22)
  11. ACM
    Krall P Generating Code Using Reflection in the Context of Computer-Assisted Legacy System Analyses and Reengineering Proceedings of the 14th Workshop on Domain-Specific Modeling, (7-12)
  12. Santos S and Soares F Authentic assessment in software engineering education based on PBL principles: a case study in the telecom market Proceedings of the 2013 International Conference on Software Engineering, (1055-1062)
  13. Fernandez J, Hurtado M, Garrido J, Noguera M and Duitama J A metaprocesses-oriented methodology for software assets reuse in the e-health domain Proceedings of the 6th international conference on Ubiquitous Computing and Ambient Intelligence, (438-445)
  14. ACM
    Huang X, Sun Q, Li J, Pan M and Zhang T An MDE-based approach to the verification of SysML state machine diagram Proceedings of the Fourth Asia-Pacific Symposium on Internetware, (1-7)
  15. ACM
    Pleuss A, Hauptmann B, Dhungana D and Botterweck G User interface engineering for software product lines Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems, (25-34)
  16. Sánchez Cuadrado J Towards a family of model transformation languages Proceedings of the 5th international conference on Theory and Practice of Model Transformations, (176-191)
  17. ACM
    Mattsson A, Fitzgerald B, Lundell B and Lings B (2012). An Approach for Modeling Architectural Design Rules in UML and its Application to Embedded Software, ACM Transactions on Software Engineering and Methodology, 21:2, (1-29), Online publication date: 1-Mar-2012.
  18. ACM
    Furtado A, Santos A and Ramalho G SharpLudus revisited Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, & VMIL'11, (57-62)
  19. Moreno-Rivera J, Navarro E and Cuesta C Evolving KobrA to support SPL for WebGIS development Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems, (622-631)
  20. Zhou J, Zhao D and Liu J A domain specific language for interactive enterprise application development Proceedings of the 2011 international conference on Web information systems and mining - Volume Part II, (351-360)
  21. ACM
    Corrêa C Towards automatic consistency preservation for model-driven software product lines Proceedings of the 15th International Software Product Line Conference, Volume 2, (1-7)
  22. ACM
    Corrêa C, Oliveira T and Werner C An analysis of change operations to achieve consistency in model-driven software product lines Proceedings of the 15th International Software Product Line Conference, Volume 2, (1-4)
  23. ACM
    D'Ambrosio P, Francese R, Marino A, Passero I and Tortora G Towards a shared software factory Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement, (106-111)
  24. Massoni T, Gheyi R and Borba P Synchronizing model and program refactoring Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications, (96-111)
  25. ACM
    Adamczyk P and Hafiz M (2010). The Tower of Babel did not fail, ACM SIGPLAN Notices, 45:10, (947-957), Online publication date: 17-Oct-2010.
  26. ACM
    Adamczyk P and Hafiz M The Tower of Babel did not fail Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (947-957)
  27. Herrmannsdoerfer M COPE Proceedings of the Third international conference on Software language engineering, (286-295)
  28. Atkinson C, Kennel B and Goß B The level-agnostic modeling language Proceedings of the Third international conference on Software language engineering, (266-275)
  29. Lussenburg V, van der Storm T, Vinju J and Warmer J Mod4J Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (346-360)
  30. Dang D, Truong A and Gogolla M On scenario synchronization Proceedings of the 8th international conference on Automated technology for verification and analysis, (97-111)
  31. ACM
    Azevedo S, Machado R, Bragança A and Ribeiro H Support for variability in use case modeling with refinement Proceedings of the 7th International Workshop on Model-Based Methodologies for Pervasive and Embedded Software, (1-8)
  32. ACM
    Trujillo S, Perez A, Gonzalez D and Hamid B Towards the integration of advanced engineering paradigms into RCES Proceedings of the International Workshop on Security and Dependability for Resource Constrained Embedded Systems, (1-4)
  33. Furtado A, Santos A and Ramalho G Streamlining domain analysis for digital games product lines Proceedings of the 14th international conference on Software product lines: going beyond, (316-330)
  34. ACM
    Geertsema B and Jansen S Increasing software product reusability and variability using active components Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, (336-343)
  35. ACM
    Cazzola W and Poletti D DSL evolution through composition Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution, (1-6)
  36. ACM
    Porubän J, Sabo M, Kollár J and Mernik M Abstract syntax driven language development Proceedings of the International Workshop on Formalization of Modeling Languages, (1-5)
  37. Berrocal J, García-Alonso J and Murillo J Lean management of software processes and factories using business process modeling techniques Proceedings of the 11th international conference on Product-Focused Software Process Improvement, (321-335)
  38. ACM
    Hartmann H, Keren M, Matsinger A, Rubin J, Trew T and Yatzkar-Haham T Integrating heterogeneous components in software supply chains Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software Engineering, (8-15)
  39. ACM
    Volz B A meta model for representing arbitrary meta model hierarchies Proceedings of the 2010 ACM Symposium on Applied Computing, (2371-2372)
  40. Crasso M, Mateo C, Zunino A and Campo M (2010). Empirically assessing the impact of dependency injection on the development of web service applications, Journal of Web Engineering, 9:1, (66-94), Online publication date: 1-Mar-2010.
  41. ACM
    Catal C (2009). Barriers to the adoption of software product line engineering, ACM SIGSOFT Software Engineering Notes, 34:6, (1-4), Online publication date: 3-Dec-2009.
  42. ACM
    Aho P, Mäki M, Pakkala D and Ovaska E MDA-based tool chain for web services development Proceedings of the 4th Workshop on Emerging Web Services Technology, (11-18)
  43. ACM
    Clark T and Tratt L Language factories Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, (949-955)
  44. Wienands C and Golm M Anatomy of a Visual Domain-Specific Language Project in an Industrial Context Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, (453-467)
  45. Hartmann H, Trew T and Matsinger A Supplier independent feature modelling Proceedings of the 13th International Software Product Line Conference, (191-200)
  46. Fernandez-Amoros D, Gil R and Somolinos J Inferring information from feature diagrams to product line economic models Proceedings of the 13th International Software Product Line Conference, (41-50)
  47. Arboleda H, Casallas R and Royer J Dealing with fine-grained configurations in model-driven SPLs Proceedings of the 13th International Software Product Line Conference, (1-10)
  48. Jiménez M, Piattini M and Vizcaíno A (2009). Challenges and improvements in distributed software development, Advances in Software Engineering, 2009, (1-16), Online publication date: 1-Jan-2009.
  49. Oberortner E, Zdun U and Dustdar S Domain-Specific Languages for Service-Oriented Architectures Proceedings of the 1st European Conference on Towards a Service-Based Internet, (159-170)
  50. ACM
    Maier S and Volk D Facilitating language-oriented game development by the help of language workbenches Proceedings of the 2008 Conference on Future Play: Research, Play, Share, (224-227)
  51. Fuentes L, Pinto M and Sánchez P (2008). Generating CAM aspect-oriented architectures using Model-Driven Development, Information and Software Technology, 50:12, (1248-1265), Online publication date: 1-Nov-2008.
  52. ACM
    Nunes I, Kulesza U, Nunes C, Cirilo E and Lucena C Extending web-based applications to incorporate autonomous behavior Proceedings of the 14th Brazilian Symposium on Multimedia and the Web, (115-122)
  53. Zdun U and Avgeriou P (2008). A catalog of architectural primitives for modeling architectural patterns, Information and Software Technology, 50:9-10, (1003-1034), Online publication date: 1-Aug-2008.
  54. Altintas N and Cetin S Managing Large Scale Reuse Across Multiple Software Product Lines Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems, (166-177)
  55. Cirilo E, Kulesza U, Coelho R, Lucena C and Staa A Integrating Component and Product Lines Technologies Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems, (130-141)
  56. ACM
    Zdun U, Avgeriou P, Hentrich C and Dustdar S Architecting as decision making with patterns and primitives Proceedings of the 3rd international workshop on Sharing and reusing architectural knowledge, (11-18)
  57. ACM
    Jalali O, Menzies T and Feather M Optimizing requirements decisions with keys Proceedings of the 4th international workshop on Predictor models in software engineering, (79-86)
  58. ACM
    Roser S, Lautenbacher F and Bauer B MDSD light for ERP Proceedings of the 2008 ACM symposium on Applied computing, (1042-1047)
  59. ACM
    Cruz F, Barreto R and Cordeiro L Towards a model-driven engineering approach for developing embedded hard real-time software Proceedings of the 2008 ACM symposium on Applied computing, (308-314)
  60. ACM
    Cruz F, Barreto R, Cordeiro L and Maciel P ezRealtime Proceedings of the conference on Design, automation and test in Europe, (1510-1515)
  61. Massoni T, Gheyi R and Borba P (2008). A Framework for Establishing Formal Conformance between Object Models and Object-Oriented Programs, Electronic Notes in Theoretical Computer Science (ENTCS), 195, (189-209), Online publication date: 1-Jan-2008.
  62. Jiang M, Neczwid A, Yang Z, Athale A and Zhao H Model-based component framework for developing domain applications Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, (539-544)
  63. Banerjee U and Narasimhan E Experience of designing and using domain specific languages for OLTP applications Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, (264-268)
  64. ACM
    Bell P A practical high volume software product line Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, (994-1003)
  65. ACM
    Santos A Automatic support for model-driven specialization of object-oriented frameworks Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, (923-924)
  66. ACM
    Trujillo S, Azanza M and Diaz O Generative metaprogramming Proceedings of the 6th international conference on Generative programming and component engineering, (105-114)
  67. ACM
    Thaker S, Batory D, Kitchin D and Cook W Safe composition of product lines Proceedings of the 6th international conference on Generative programming and component engineering, (95-104)
  68. Brown A and McDermid J The art and science of software architecture Proceedings of the First European conference on Software Architecture, (237-256)
  69. Prinz A, Scheidgen M and Tveit M A model-based standard for SDL Proceedings of the 13th international SDL Forum conference on Design for dependable systems, (1-18)
  70. ACM
    Latry F, Mercadal J and Consel C Staging telephony service creation Proceedings of the 1st international conference on Principles, systems and applications of IP telecommunications, (99-110)
  71. Costa C, Pérez J and Carsí J Dynamic adaptation of aspect-oriented components Proceedings of the 10th international conference on Component-based software engineering, (49-65)
  72. Alonso D, Vicente-Chicote C, Sánchez P, Álvarez B and Losilla F Automatic Ada code generation using a model-driven engineering approach Proceedings of the 12th international conference on Reliable software technologies, (168-179)
  73. France R and Rumpe B Model-driven Development of Complex Software 2007 Future of Software Engineering, (37-54)
  74. Pham H, Mahmoud Q, Ferworn A and Sadeghian A Applying Model-Driven Development to Pervasive System Engineering Proceedings of the 1st International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments
  75. Mattsson A, Lundell B, Lings B and Fitzgerald B Experiences from Representing Software Architecture in a Large Industrial Project Using Model Driven Development Proceedings of the Second Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design Intent
  76. Bauer B, Müller J and Roser S Decentralized business process modeling and enactment Proceedings of the 5th international conference on Programming multi-agent systems, (1-26)
  77. Reiser M and Weber M (2007). Multi-level feature trees, Requirements Engineering, 12:2, (57-75), Online publication date: 1-Apr-2007.
  78. Hammouda I and Koskimies K An approach for structural pattern composition Proceedings of the 6th international conference on Software composition, (252-265)
  79. ACM
    Liu Y and Cunningham H Java in the box Proceedings of the 45th annual southeast regional conference, (47-52)
  80. ACM
    Santos A, Lopes A and Koskimies K Framework specialization aspects Proceedings of the 6th international conference on Aspect-oriented software development, (14-24)
  81. ACM
    Ubayashi N and Nakajima S Context-aware feature-oriented modeling with an aspect extension of VDM Proceedings of the 2007 ACM symposium on Applied computing, (1269-1274)
  82. ACM
    Avila-García O, García A and Rebull E Using software product lines to manage model families in model-driven engineering Proceedings of the 2007 ACM symposium on Applied computing, (1006-1011)
  83. Eessaar E Using metamodeling in order to evaluate data models Proceedings of the 6th Conference on 6th WSEAS Int. Conf. on Artificial Intelligence, Knowledge Engineering and Data Bases - Volume 6, (181-186)
  84. ACM
    Czarnecki K, Antkiewicz M and Kim C (2006). Multi-level customization in application engineering, Communications of the ACM, 49:12, (60-65), Online publication date: 1-Dec-2006.
  85. Altintas N, Cetin S and Dogru A Industrializing software development Proceedings of the 2nd international conference on Trends in enterprise application architecture, (54-68)
  86. Altintas N, Cetin S and Dogru A Industrializing Software Development: The “Factory Automation” Way Trends in Enterprise Application Architecture, (54-68)
  87. ACM
    McVeigh A, Kramer J and Magee J Using resemblance to support component reuse and evolution Proceedings of the 2006 conference on Specification and verification of component-based systems, (49-56)
  88. ACM
    Simonyi C, Christerson M and Clifford S Intentional software Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (451-464)
  89. ACM
    Tolvanen J MetaEdit+ Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (690-691)
  90. ACM
    Czarnecki K and Pietroszek K Verifying feature-based model templates against well-formedness OCL constraints Proceedings of the 5th international conference on Generative programming and component engineering, (211-220)
  91. ACM
    Simonyi C, Christerson M and Clifford S (2006). Intentional software, ACM SIGPLAN Notices, 41:10, (451-464), Online publication date: 16-Oct-2006.
  92. ACM
    Krishna A, Gokhale A and Schmidt D (2006). Context-specific middleware specialization techniques for optimizing software product-line architectures, ACM SIGOPS Operating Systems Review, 40:4, (205-218), Online publication date: 1-Oct-2006.
  93. Muller P, Fleurey F, Fondement F, Hassenforder M, Schneckenburger R, Gérard S and Jézéquel J Model-Driven analysis and synthesis of concrete syntax Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems, (98-110)
  94. Staron M Adopting model driven software development in industry Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems, (57-72)
  95. Cook S Separating concerns with domain specific languages Proceedings of the 7th joint conference on Modular Programming Languages, (1-3)
  96. ACM
    Gitzel R and Schwind M Experiences with hierarchy-based code generation in the J2EE context Proceedings of the 4th international symposium on Principles and practice of programming in Java, (216-223)
  97. ACM
    Merdes M and Dorsch D Experiences with the development of a reverse engineering tool for UML sequence diagrams Proceedings of the 4th international symposium on Principles and practice of programming in Java, (125-134)
  98. ACM
    Nunes D and Schwabe D Rapid prototyping of web applications combining domain specific languages and model driven design Proceedings of the 6th international conference on Web engineering, (153-160)
  99. Boronat A, Oriente J, Gómez A, Ramos I and Carsí J An algebraic specification of generic OCL queries within the eclipse modeling framework Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications, (316-330)
  100. Nytun J, Prinz A and Tveit M Automatic generation of modelling tools Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications, (268-283)
  101. Kleppe A MCC Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications, (173-187)
  102. Cuadrado J, Molina J and Tortosa M RubyTL Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications, (158-172)
  103. Kulkarni V and Reddy S A model-driven architectural framework for integration-capable enterprise application product lines Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications, (1-12)
  104. Robak S and Pieczyński A Adjusting software-intensive systems developed by using software factories and fuzzy features Proceedings of the 8th international conference on Artificial Intelligence and Soft Computing, (297-305)
  105. Staron M and Wohlin C An industrial case study on the choice between language customization mechanisms Proceedings of the 7th international conference on Product-Focused Software Process Improvement, (177-191)
  106. ACM
    Krishna A, Gokhale A and Schmidt D Context-specific middleware specialization techniques for optimizing software product-line architectures Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006, (205-218)
  107. Boronat A, Carsí J and Ramos I Algebraic specification of a model transformation engine Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering, (262-277)
  108. Schmidt D (2006). Guest Editor's Introduction, Computer, 39:2, (25-31), Online publication date: 1-Feb-2006.
  109. ACM
    Wu H and Gray J Automated generation of testing tools for domain-specific languages Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, (436-439)
  110. Humm B, Schreier U and Siedersleben J Model-Driven development – hot spots in business information systems Proceedings of the First European conference on Model Driven Architecture: foundations and Applications, (103-114)
  111. Kleppe A Towards general purpose, high level, software languages Proceedings of the First European conference on Model Driven Architecture: foundations and Applications, (220-238)
  112. Muller A, Caron O, Carré B and Vanwormhoudt G On some properties of parameterized model application Proceedings of the First European conference on Model Driven Architecture: foundations and Applications, (130-144)
  113. ACM
    Perera R and Foster J A delta-driven execution model for semantic computing Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (202-204)
  114. ACM
    Czarnecki K, Antkiewicz M, Kim C, Lau S and Pietroszek K Model-driven software product lines Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (126-127)
  115. Deng G, Lenz G and Schmidt D Addressing domain evolution challenges in software product lines Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (247-261)
  116. Atkinson C and Kühne T Concepts for comparing modeling tool architectures Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems, (398-413)
  117. Muller P, Fleurey F and Jézéquel J Weaving executability into object-oriented meta-languages Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems, (264-278)
  118. ACM
    Le Gear A and Buckley J Reengineering towards components using "Reconn-exion" Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, (370-373)
  119. ACM
    Le Gear A and Buckley J (2005). Reengineering towards components using "Reconn-exion", ACM SIGSOFT Software Engineering Notes, 30:5, (370-373), Online publication date: 1-Sep-2005.
  120. ACM
    Hernández F, Bangalore P and Reilly K (2005). End-user tools for grid computing, ACM SIGSOFT Software Engineering Notes, 30:4, (1-5), Online publication date: 1-Jul-2005.
  121. Wills A and Kelly S Agile development with Domain Specific Languages scaling up agile Proceedings of the 6th international conference on Extreme Programming and Agile Processes in Software Engineering, (311-314)
  122. ACM
    Hernández F, Bangalore P and Reilly K End-user tools for grid computing Proceedings of the first workshop on End-user software engineering, (1-5)
  123. ACM
    Hernández F, Bangalore P and Reilly K Automating the development of scientific applications using domain-specific modeling Proceedings of the second international workshop on Software engineering for high performance computing system applications, (50-54)
  124. Gokhale S, Gokhale A and Gray J A Model-Driven Performance Analysis Framework for Distributed, Performance-Sensitive Software Systems Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 10 - Volume 11
  125. Ancona D and Moggi E Program generation and components Proceedings of the Third international conference on Formal Methods for Components and Objects, (222-250)
  126. ACM
    Tolvanen J MetaEdit+ Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (39-40)
  127. Anonsen S Experiences in modeling for a domain specific language UML Modeling Languages and Applications, (187-197)
  128. Anonsen S Experiences in modeling for a domain specific language Proceedings of the 2004 international conference on UML Modeling Languages and Applications, (187-197)
  129. Czarnecki K Overview of generative software development Proceedings of the 2004 international conference on Unconventional Programming Paradigms, (326-341)
  130. Cointe P Towards generative programming Proceedings of the 2004 international conference on Unconventional Programming Paradigms, (315-325)
  131. ACM
    Greenfield J and Short K Software factories Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (16-27)
Contributors
  • Microsoft Corporation
  • Microsoft Corporation
  • University of Kent

Recommendations

Reviews

Fernando Berzal

A software factory is a "configuration of languages, patterns, frameworks, and tools that can be used to rapidly and cheaply produce an open-ended set of unique variants of an archetypical product." This somewhat intricate definition, though formally sound, can be misleading to the average software developer. More concisely, software factories boil down to automated software product lines, where automation is achieved through model-driven development. The first part of this outstanding book motivates and introduces software factories. Current software development projects encounter major problems when dealing with complexity and change. With respect to complexity, practitioners could use more powerful abstractions and let tools do more of the job; namely, they could resort to model-driven development. With respect to the change, iterative development, design patterns, and refactoring provide the means to prevent stagnation, brittleness, and fatigue, respectively. In practice, according to the book authors, domain-specific languages will help us raise our abstraction level when programming, while more advanced integrated development environments (IDEs) will deal with artifact synchronization and can facilitate constant change. Apart from the above-mentioned problems (complexity and change), one-off software development is terribly expensive and inefficient. Most software applications have more similarities than differences. These similarities make economies of scope possible. In economies of scope, not to be confused with economies of scale, multiple similar but distinct products are produced collectively. In software development terms, software product lines foster systematic reuse, help reduce overall development costs, and facilitate improvements in software quality. The second part of this book analyzes what the authors consider to be the critical innovations that make software factories possible. Model-driven development (MDD) plays a major role here. In MDD, models are first-class artifacts. They become the source code, actually. Thoughtful readers will find insightful discussions of a wide range of interrelated topics, from metamodels and aspects to model mappings, transformations, and code generation implementation alternatives. Less brilliant chapters discuss software product lines and development by assembly. Domain engineering and application engineering basics pave the way for the description of the activities involved in product line development, and product development in software product lines. Development by assembly, where frameworks provide an organizing architecture for software products, is also analyzed. The final part of the book provides a case study that outlines the product line development process, and a frequently asked questions final chapter. In this original closing chapter, software factories are presented as domain-specific research and development (RAD) environments for product lines. They are compared to model-driven architecture (MDA), agile modeling, computer-aided software engineering (CASE) tools, and fourth-generation languages. Concerning the comparison between software factories and MDA, a separate appendix elaborates the limitations of the unified modeling language (UML) in model-driven development. Briefly, UML works properly for communicating ideas, but fails miserably as a programming language, due to its lack of a well-defined semantics. Hence, MDA, which is based on UML, will need a major revision of the UML standard before it becomes an actual implementation alternative. In this sense, software factories encompass and extend MDA. In software factories, domain-specific languages play the role of the "universal programming language" that UML pretends to be in MDA, without having to wait for a new standard. This book describes what the next paradigm shift in software development might be. Maybe. Even though the software product lines and model-driven development concepts are not new, software factories take them one step further, along with patterns and frameworks. Furthermore, software factories are strongly backed by a major software tools vendor, namely, Microsoft (Microsoft, incidentally, employs all of the authors named on this book). Other vendors will probably follow. Because of this, software development professionals should read the book, in order to stay current and be prepared for the future. A final disclaimer: this book is not for fainthearted developers who are used to how-to handbooks. Some immunity to unclouded "buzzwordism" and casual hype is also desirable, in order to critically ponder what this book has to say from a keen point of view. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.