3 You remember? The conference topics in a four quadrants scheme The first part of this presentation provides more detail about generative software development Single System System Family Manual Crafting Automated Assembly Classical Software Development Model-Driven Software Development Software Product Lines Generative Software Development 3

4 One-Sentence Definition Generative Software Development (GSD) is a software engineering paradigm based on modeling software system families such that, given a particular requirements specification, a highly customized and optimized system or component can be automatically created on demand from elementary, reusable implementation components by means of configuration knowledge. 4

8 Generic Generative Generic "relating to or characteristic of a whole group or class" (Merriam- Webster Online) Solution space technique for developing parameterizable components Generative "having the power or function of generating, originating, producing, or reproducing" (Merriam-Webster Online) System for producing other systems; comprises problem space, configuration knowledge, and solution space 8

9 Technology Projection A technology projection is a mapping of a GDM onto other software development paradigms, a programming language, several development tools that are combined within one environment or on one platform Meanwhile, several technology projections are available 9

13 Cost The initial cost of developing software using a single system approach is high Afterwards identical copies of the system can be produced with small cost per unit (economies of scale) Developing a factory for producing software system variants is even more expensive But as soon as the factory is ready to use, system variants can be produced at minimal cost (economies of scope) However in most cases the cost difference between single system and identical copy will be larger than between factory system and variant Thus two important questions are How to license system variants? How to set their prices? 13

14 Software Economy Software is information and as such it is costly to produce but cheap to reproduce (Shapiro/Varian 1999, p. 22) Thus economies of scale is less significant in software business Based on this fact software economy investigates answers to the following questions with respect to single systems as well as system variants How to license software? How to set prices for software licenses? How to distribute software licenses? How to pay software licenses? What are suitable competitive strategies for selling software licenses? 14

15 Competitive Strategies There are two fundamental competitive strategies, that also apply to software business (Shapiro/Varian 1999, p. 25) Product differentation in order to be distinguishable from competitors, one has to add value to the product Cost leadership achieve cost leadership through economies of scale and scope A product line approach is one possibility to differentiate products, provided it allows to produce highly customer specific variants Additionaly generative software development enables economies of scope which is a precondition for cost leadership Remember: economies of scale is less relevant in software business 15

16 Putting it All Together Functional features and platform technology are common sources of variability A sophisticated product line approach may include further sources of variability geared towards specific needs of customers, such as License Price Form of payment Besides mutual dependencies among them, license, price, and payment may also interact with functional features as well as platform technology This leads to a considerable increase of overall variability covered by a product line 16

17 License Features Licenses can be based on various criteria and their combination Ownership vs. right to install and use a copy Subscription Customer pays a recurring fee to continue using the software Perpetual Customer pays once for running the program as long as he chooses Pay-per-use Customer pays a fee for actual use, e.g. number of uses, time of use, number of transactions,... Financial metrics, e.g. revenue, saved costs, profit,... User-based metrics, e.g. named user, number of concurrent users,... Hardware-based criteria, e.g. number of CPUs or CPU cores, number of clients connected to a server,

18 Pricing Methods There are various pricing methods, such as Cost-oriented pricing Price that covers fixed and variable costs, taking into account expected number of sales and return Competition-oriented pricing Price that is oriented on competitors majority Demand-oriented pricing Price that is oriented on requested quantity per time Value-based pricing Price that is based on the value that a product creates for the customer... It is imaginable to combine different pricing methods for the different components a product is made from 18

19 Price Differentiation The result of price building is not necessarily a fixed price Price differentiation may lead to varying prices according to a number of criteria, such as Individual characteristics, e.g. age, employment status, membership Group characteristics, e.g. group rates Territory, e.g. place of use (home zone vs. remote access) Quantity, e.g. discount for bulk purchase Time, e.g. business hours vs. leisure hours, time unit of billing Search costs, e.g. effort for locating or specifying a desired product... Some of these criteria may be cumulated, some are mutually exclusive 19

20 Form of Payment The form of payment constitutes a further source of variability, among them Cash Prepayment Bank collection Purchase on credit Cash on delivery E-cash, micropayment... Usually the form of payment applies to the entire product, but it is also conceivable to provide different forms of payment for different components (or features respectively) of a product 20

21 Concrete Components The majority of functional features and platform technology is implemented by concrete software components Features of licensing, pricing, price differentation, and form of payment primarily affect planning, legal contracts and commercial documents A forceful product line approach should also include the automated creation of product-specific documentation This requires sophisticated techniques for producing non-code artefacts The quality of these artefacts should be at least at the same level of quality as the code Nevertheless, some of these features as well as their eletronic enforcement might also require concrete implementation components, e.g. for collecting and transferring use data 21

22 Mutual Dependencies We expect a variety of mutual dependencies between features of software economy, e.g. Use based license is not compatible with prepayment Subscription license can not be combined with purchase on credit These dependencies have to be analyzed carefully and documented as configuration knowledge in machine processable form 22

24 Benefits of Integrating Software Economy Into Product Lines Customer can choose license, pricing, and way of payment that are most suitable to his needs Not only the same for the entire system, but also different mix for subsystems or functional features and platform technology Developer/supplier can greatly expand product differentiation beyond functional features and platform technology It will change over the lifecycle of the product line which features of software economy are visible to the customer and selectable by him The policies which features of software economy can or can not be combined may change accordingly Value-based pricing, which creates most revenue and profit, is strongly supported 24

Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo czarnecki@acm.org www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative

Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo Overview Motivation Generative Software Development Examples Summary & Outlook 2 Scaling Up Software Development New

217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced

Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

10. Pricing Strategy One of the four major elements of the marketing mix is price. Pricing is an important strategic issue because it is related to product positioning. Furthermore, pricing affects other

E-Mall as solution for marketing the Federated ERP Components on basis of Web Services Evan Asfoura, Naoum Jamous and Gamal Kassam The exchanging of the ERP system's components which are distributed on

Engineering the Enterprise for Excellence Visible Business Templates An Introduction By Graham Sword Principal, Consulting Services This document provides an introductory description of Visible Business

System Software Product Line 2 1 Introduction The concept of Software Product Lines has been developed for more than a decade. Being initially an academic topic, product lines are more and more incorporated

What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets

CA Nimsoft Monitor Probe Guide for Java Virtual Machine Monitoring jvm_monitor v1.4 series Legal Notices This online help system (the "System") is for your informational purposes only and is subject to

Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

Ten Questions to Ask PLM Solution Suppliers What You Need to Know to Make an Informed Decision August 2010 A CIMdata White Paper Ten Questions to Ask PLM Solution Suppliers What You Need to Know to Make

Introduction 1 1 Introduction CRAFT is an ERP system providing automation in most important business aspects of an enterprise: Customer relations, Financial operations, Production and Distribution operations,

May 2011 How to incorporate high frequency trading into your business model? Peter van Kleef www.lakeview-cms.com Main topics Trading requirements for HFT in futures, options and FX Critical components

Ebase Xi Agile Service Oriented Architecture Ebase Xi is an agile service oriented architecture that accelerates and simplifies the delivery of business applications. The Xi platform combines process management,

Bringing Value to the Organization with Performance Testing Michael Lawler NueVista Group 1 Today s Agenda Explore the benefits of a properly performed performance test Understand the basic elements of

Cross-Company System Simulation using the GUSMA-Standard for Co-Simulation The industry of mobile machines is well known for the development of highly innovative and complex products. They are affected

A Point of View Next Generation Electric Utilities Gear up Using Cloud Based Services Abstract Globally, liberalization of the electricity sector has driven a paradigm shift in the ownership structure,

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

NetPay for... NetPay for... Web Hosts The web hosting market is fiercely competitive with participants continuing to look for new and innovative ways to provide differentiation that will attract new customers

M.S. Computer Science Program Pre-requisite Courses The following courses may be challenged by sitting for the placement examination. CSC 500: Discrete Structures (3 credits) Mathematics needed for Computer

Management and Web service Management This presentation offers work to OASIS completed by IBM with contribution from CA and Talking Blocks The work details a frame of reference for Management Applications,

CA Nimsoft Monitor Probe Guide for iseries System Statistics Monitoring sysstat v1.1 series Legal Notices This online help system (the "System") is for your informational purposes only and is subject to

Pricing Strategies of Software Vendors Pricing strategies of vendors in the software industry have so far not been discussed comprehensively. This is surprising as the characteristics of the software industry

zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

ORACLE INFRASTRUCTURE AS A SERVICE PRIVATE CLOUD WITH CAPACITY ON DEMAND FEATURES AND FACTS FEATURES Hardware and hardware support for a monthly fee Optionally acquire Exadata Storage Server Software and

Java-based Functionality and Data Management in the Automobile. Prototyping at BMW Car IT GmbH. by Alexandre Saad, BMW Car IT GmbH, Munich/Germany The amount of electronic and software elements in vehicles

ISO20000: What it is and how it relates to ITIL v3 John DiMaria; Certified Six Sigma BB, HISP BSI Product Manager; ICT (ISMS,ITSM,BCM) Objectives and Agenda To raise awareness, to inform and to enthuse

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS Venkat Perumal IT Convergence Introduction Any application server based on a certain CPU, memory and other configurations

6 Steps to Creating a Successful Marketing Database Why Invest in a Marketing Database? An organisation that has an ineffective marketing database, multiple databases that cannot communicate with one another,

1 The following is merely a collection of notes taken during works, study and just-for-fun activities No copyright infringements intended: all sources are duly listed at the end of the document This work