Metamodeling for Business Model Design

Similar documents
Spemmet - A Tool for Modeling Software Processes with SPEM

Verification and Correction of UML Models

METAMODEL OF A SERVICE-ORIENTED BUSINESS

TUML: A Method for Modelling Temporal Information Systems

Extension and integration of i* models with ontologies

An Ontological Analysis of Metamodeling Languages

Meta-Model Guided Error Correction for UML Models

Rich Hilliard 20 February 2011

Existing Model Metrics and Relations to Model Quality

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Reverse Engineering Process for Extracting Views from Domain Ontology

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Models versus Ontologies - What's the Difference and where does it Matter?

Development of a formal REA-ontology Representation

A Method for Data Minimization in Personal Information Sharing

Generation Rules in POMA Architecture

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute.

Practical Model-Driven Development with the IBM Software Development Platform

1.1 Jadex - Engineering Goal-Oriented Agents

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

BLU AGE 2009 Edition Agile Model Transformation

Object Oriented Model of Objectory Process

Designing a System Engineering Environment in a structured way

ETSI ETR 046 TECHNICAL July 1992 REPORT

JOURNAL OF OBJECT TECHNOLOGY

UML Profiles Radovan Cervenka

QoS-aware model-driven SOA using SoaML

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

MDA. SOA = Model Driven SOA

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

A component-centric UML based approach for modeling the architecture of web applications.

Comparative Analysis of Architectural Views Based on UML

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Transforming Enterprise Ontologies into SBVR formalizations

PPOOA, An Architectural Style for Real Time Systems

A Model-Based Development Method for Device Drivers

Software Architecture

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

First Steps Towards Conceptual Schema Testing

Generic and Domain Specific Ontology Collaboration Analysis

Domain-Driven Development with Ontologies and Aspects

Model Driven Ontology: A New Methodology for Ontology Development

An Ontology-Based Methodology for Integrating i* Variants

CISC836: Models in Software Development: Methods, Techniques and Tools

Annotation for the Semantic Web During Website Development

Ontology-based Architecture Documentation Approach

Using the UML for Architectural Description Rich Hilliard

Pattern-Based Architectural Design Process Model

Refinement and Formalization of Semi-Formal Use Case Descriptions

UML PROFILING AND DSL

Designing and documenting the behavior of software

A Method for Conceptual Modeling of Semantically Integrated Use-case Scenarios

User Experience Report: Heuristic Evaluation

Chapter 1: Programming Principles

Tracing the Formalization Steps of Textual Guidelines

It Is What It Does: The Pragmatics of Ontology for Knowledge Sharing

Security Issues Formalization

Knowledge-based authoring tools (KBATs) for graphics in documents

OCL Support in MOF Repositories

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry

On Traceability of Informal Specifications for Model-Based Verification

Chapter 1: Principles of Programming and Software Engineering

VISO: A Shared, Formal Knowledge Base as a Foundation for Semi-automatic InfoVis Systems

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Train control language teaching computers interlocking

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Software Language Engineering of Architectural Viewpoints

Introduction to the Generic Eclipse Modeling System by Jules White

Towards the integration of security patterns in UML Component-based Applications

Unified Modeling Language (UML)

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Transforming Transaction Models into ArchiMate

Adding Usability to Web Engineering Models and Tools

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Participatory Quality Management of Ontologies in Enterprise Modelling

Slides for courses based on the textbook

A System of Patterns for Web Navigation

Dresden OCL2 in MOFLON

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

Introduction to Modeling

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

The Business Model Canvas

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

Available online at ScienceDirect. Procedia Computer Science 96 (2016 )

Log System Based on Software Testing System Design And Implementation

New Approach to Graph Databases

Model Driven Engineering (MDE)

Ontology-based Model Transformation

An Operational Semantics for Parallel Execution of Re-entrant PLEX

Adaptive Hypermedia Systems Analysis Approach by Means of the GAF Framework

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Perspectives on User Story Based Visual Transformations

ModelicaML: Getting Started Issue April 2012

On the link between Architectural Description Models and Modelica Analyses Models

Transcription:

Metamodeling for Business Model Design Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel. Hilmar Hauksson 1 and Paul Johannesson 2 1 KTH Royal Institute of Technology, Stockholm,Sweden {hilmar@kth.se} 2 Stockholm University, Department of Computer and Systems Sciences, Sweden {pajo@dsv.su.se} Abstract: The Business Model Canvas (BMC) is a popular business modeling approach providing a highlevel, semi-formal approach to create and communicate business models. While this approach is easy to use, the informality and high-level approach can cause some ambiguity and has limited computer-aided support available. This paper proposes a metamodel for BMC and implements it in an OMG standards-based modeling tool to provide tool support for BMC modeling. The BMC metamodel and its implementation and use are demonstrated and a brief evaluation is presented and discussed. The creation of a BMC metamodel exposed some ambiguity in the definition and use of the BMC and the importance of graphical presentation and flexibility in the tools used. The evaluation suggests that the proposed BMC metamodel and tool support do facilitate the development and communication of BMC models by improving the encapsulation and communication of information in a standardized way. Keywords: Business Model Canvas BMC Metamodel Business Model UML RSA MetaModelAgent BMO OMG 1 Introduction While the increase of interest for business models and business modeling in recent years is clear, the definition of the business model concept and its modeling approach is not [1]. The lack of clear definitions can potentially lead to confusion and limitations on the research progress and development of business models [1]. The creation of the Business Model Ontology (BMO) by Osterwalder [2] is a well-known and established effort to define the business model concept based on analysis of existing business models literature [3]. Formalizing business models can provide a conceptual foundation for developing new methods and tools to facilitate the creation and communication of business models [2] [4]. Osterwalder and Pigneur [5] defined the Business Model Canvas (BMC) which is a high-level and semiformal modeling approach for creating business models. The BMC is a visual presentation of a business model and is based on the nine building blocks of the Business Model Ontology. The BMC is like a painter s canvas with the 9 boxes pre-formatted with the 9 building blocks [5]. See figure 1. While the BMC modeling approach can be used with a great level of freedom which is especially important in early modelling stages, it lacks computer-aided tool support [5] which could help with improving the level of details, specificity and consistency of the model when interpreting or communicating the resulting BMC models [6]. Formalizing business models can provide a conceptual foundation for developing new methods and tools to facilitate the creation and communication of business models. Furthermore a formal tool support may help business modelers by providing consistency checking and help removing ambiguity by providing integrity constraints and other modeling guidelines [4]. The current available computer-aided tools supporting BMC modeling are mainly focused on visual presentation and ease of use by providing functions for drawing and documenting element attributes and associations as well as testing and sharing of models. These tools do not provide full modeling guidance based on BMC in a formalized modeling language, error-checking, or the option to create or export the business model in a format that can be used in OMG standards-based modeling tools. Both modelers and users of BMC models could potentially benefit from more formal tool support for the creation, detailing, verification and communication of BMC models [5]. The communication between business modelers, requirements engineers, software architects and developers can also potentially benefit from a clearer and more formalized representation of BMC in a standardized model-

ing language. One approach to facilitate improved modeling options and communication could be the transition of a BMC model to an OMG MDA-based model, based on a metamodel of BMC. To address this, we propose a formal BMC metamodel and implement it in an OMG standards-based modeling environment to provide a computer-aided tool support for BMC modeling which may support transforming a drafted BMC model into a richer and more structured UML-based BMC model in a standardized tool. The BMC metamodel and its implementation is then demonstrated and briefly evaluated. Fig. 1. Business Model Canvas [5] 2 BMC metamodel The proposed BMC metamodel is based on the 9 building blocks of BMC with attributes and relationships as described in the Business Model Generation book [5]. A few attributes and relationships details were added from the BMO definition [2] while our literature review of BMC modeling and metamodels did not add further details. Each BMC building block is represented by a single class in the metamodel to keep it simple and close to the actual BMC model layout while attributes are added within classes where needed to represent different types. Definition of BMC relationships and their multiplicity is vague in the Business Model Generation book [5] and both explicit and implicit indications from the text are used. BMC is based on BMO and the more detailed attributes of sub-elements and inherited attributes in BMO are omitted to keep the BMC metamodel simple and close to the BMC model detail level. The multiplicity of each element in BMO is stated in the BMO definition and all the 9 main elements mapping to BMC elements have multiplicity 1..n except Partnership which has 0..n [2]. This basically means that eight of nine elements in BMC are mandatory according to the underlying BMO definition. Defining relationships in the BMC metamodel exposed some inconsistency in the BMC and BMO definitions. The reviewed literature did not expose any unexpected or new information to add to the proposed metamodel. As a last step the BMC metamodel was reviewed and simplified to increase readability and simplify implementation while minimizing loss of detail. The suggested BMC metamodel is displayed in figure 3 below. To cater for the different attribute values in the metamodel, several enumerations are defined. As an example, the CostStructureClass enumeration is displayed in figure 2 below.

Fig. 2. CostStructureClass enumeration After defining the BMC metamodel, the next step is to implement it in a chosen modeling environment to provide tool support for BMC modeling and then demonstrate it and evaluate. Fig. 3. The proposed BMC metamodel 3 Implementation in an OMG standards-based modeling tool The metamodel is implemented by creating a UML Profile based on UML 2.4.1 [7]. The BMC UML Profile defines the stereotypes and maps to UML metaclasses to represent the BMC elements. New attributes are defined as tags followed by creation of enumerations. The selection of using a UML Profile fits our modeling environment of choice well, which is IBM s Rational Software Architect (RSA) [8] using an extension from Adocus called MetaModelAgent (MMA) [9]. The MMA extension can support UML modeling by defining modeling guidelines as metamodels in UML for improved consistency and reuse. The MMA parses the guidelines and provides guideline-specific functions to support the modeler. MMA also uses a model analyzer to identify and correct modeling guidelines violations and provides context-sensitive help to the modeler [9]. A MMA metamodel based on the UML Profile is created to utilize the modeling support provided by MMA and a subset of the implemented MMA metamodel is shown in figure 5 below. The remaining BMC elements and their associations are added with attributes and details. Each BMC element is represented by a stereotyped class with attributes, rules and documentation to use as guidelines during the creation of the BMC model. The type is set for each attribute and most of them are defined by enumerations. The attributes can be given default values as shown for the Reasoning attribute in the ValueProposition stereotyped class shown in figure 4 below.

Fig. 4. ValueProposition stereotyped class Fig. 5. A subset of the implemented MMA metamodel. Now that the BMC metamodel is implemented, the next step is to demonstrate and evaluate how this implementation works as tool support for BMC modeling. 4 Demonstration and Evaluation To demonstrate and briefly evaluate how the artifacts work, a selected BMC model is used as input to re-create it in RSA with support from the metamodel and the MMA extension. The selected model is a BMC model for Skype, taken from the Business Model Generation book [5]. The process of using the metamodel and the outcome of the demonstration are explained by using screenshots and explanatory text to clarify the functions of the artifacts. The MMA provides a wizard which is used to create the Skype BMC model in RSA using the underlying BMC metamodel and prompts the user to create all classes and elements needed for a correct BMC metamodel. Example of how a new CostStructure class element is created is displayed in figure 6 below.

Fig. 6. Creating a new Cost Structure in the MetaModelAgent wizard The MMA wizard continues to suggest and prompt for mandatory elements until they have all been created and thus supports creation of a full and consistent BMC model. The MMA contains a Problems list which identifies and displays any problems in the created BMC model against the metamodel and can suggest actions to correct the problems and thereby support a fuller BMC model creation. Part of a MMA Problem list is displayed in figure 7 below. Fig. 7. Part of the MetaModelAgent Problem list. The MMA metamodel wizard will also identify any excessive or undefined items in the BMC model which do not comply with the BMC metamodel. After creating the Skype BMC model and addressing the errors or warnings listed, the BMC model is saved as a model project and a UML Class Diagram can be generated to visualize the results if needed. The demonstration shows that this solution introduces some limitations for the user when creating a BMC model. By assisting the user with requiring mandatory instances, associations and attributes, the metamodel does at the same time tie the hands of the user to certain extent. E.g. in the mandatory attributes and pre-defined values in the enumerations which may not always fully fit the user s model. To accommodate this, the metamodel could add new values to cover all other options or change from mandatory to recommended attributes types. Creation of a visual presentation of the BMC model is a bit cumbersome and the resulting class diagram needs some manual work to be structured in a readable format. The evaluation analyses both how the artifacts fulfill the pre-defined requirements and to what extent the solution contributes to supporting BMC modeling. The brief evaluation shows that all pre-defined requirements were met and this work contributes by supporting BMC modeling through the new computer-aided support. The RSA project containing the BMC metamodel and the demo is available on request from the authors.

5 Conclusion and Discussion Based on the performed evaluation the proposed computer-based and metamodel-based BMC modeling approach facilitates development and communication of BMC business models by improving the encapsulation and communication of the information in a BMC model and moves from a free-form canvas to a UML-based model with formal structure in a consistent way. The metamodel-based tool supports the detailing of a BMC model by suggesting and explaining all facets of the BMC model definition in a consistent and controllable way and can assist BMC modelers wishing to get support in formalizing and detailing their BMC models and creating a standardized UML-based BMC model at the same time. The evaluation also highlighted the importance of a clear and intuitive graphical interface to work with BMC models. The BMC canvas is very graphical, easy to use and automatically gives a clear overview of the model. The graphical presentation of the artifacts presented here is a limitation on the use where it supports transforming a drafted BMC model into a richer, more structured UML-based BMC model in a standardized modeling tool. The freedom and ease of use of the BMC canvas would be useful to replicate in the artifacts presented here to make them more useful and approachable to end users. At the same time the freedom in using the canvas results in some ambiguity. This is quite clear in the way relationships can be defined in the model. The resulting artifacts were created with a balance in mind between the freedom and free form of BMC and the benefits of more control and supportive structure. This was bound to result in some limitations in the metamodel itself where the relationships between elements are limited somewhat and the attributes and attribute values as well. Ideas for future research in this area include developing a graphical user interface to use with the underlying functionality presented in this study for the general public. Further analysis and evaluation with case studies and involvement of more BMC modeling experts and end-users would be needed to better understand how this structured approach and support works in a real-life environment. Using formalized BMC models to create software simulations of business models could be interesting to test e.g. feasibility. The creation of more detailed metamodel including layers to capture different views of the same business being modeled or adding further flexibility into the underlying support would also be interesting to better understand if it could broaden the use of this type of BMC modeling approach.

References 1. Zott, C., Amit, R. & Massa, L., 2011. The business model: recent developments and future research. Journal of Management, 37(4), pp. 1019-1042. 2. Osterwalder, A., 2004. The Business Model Ontology - a Proposition in a Design Science Approach. PhD Thesis, Lausanne: University of Lausanne. 3. Andersson, B. et al., 2006. Towards a reference ontology for business models. In: Conceptual Modeling- ER2006. Berlin Heidelberg: Springer, pp. 482-496. 4. Osterwalder, A., Parent, C. & Pigneur, Y., 2004. Setting up an ontology of business models. Riga, CAiSE Workshops (3) Riga Technical University. 5. Osterwalder, A. & Pigneur, Y., 2010. Business Model Generation. 1st Ed. New Jersey: John Wiley & Sons. 6. Osterwalder, A., Pigneur, Y. & Tucci, C. L., 2005. Clarifying Business Models: Origins, Present, and Future of the Concept. Communications of the Association for Information Systems, 16(1), pp. 1-25 7. OMG, 2011. OMG Unified Modeling Language (OMG UML), Infrastructure. [Online] Available at: http://www.omg.org/spec/uml/2.4.1/infrastructure/pdf/ [Accessed 31 December 2013]. 8. IBM, 2013. Rational Software Architect. [Online]. Available at: www.ibm.com/software/products/en/ratisoftarch. [Accessed 31 December 2013]. 9. Adocus, 2013. MetaModelAgent. [Online]. Available at: www.adocus.com/en/products/metamodelagent. [Accessed 31 December 2013].