WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation



Similar documents
Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs

New Generation of Software Development

Technical White Paper. Automating the Generation and Secure Distribution of Excel Reports

Difference Between Model-Driven and Traditional Iterative Software Development

The Phios Whole Product Solution Methodology

Data Modeling Basics

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

InRule. The Premier BRMS for the Microsoft Platform. Benefits THE POWER OF INRULE. Key Capabilities

MicroStrategy Course Catalog

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

HL7 V2 Implementation Guide Authoring Tool Proposal

A Database Re-engineering Workbench

Technical White Paper The Excel Reporting Solution for Java

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

XML and the College Website A Practical Look at the Use of XML and XSL

Cedalion A Language Oriented Programming Language (Extended Abstract)

Grow Revenues and Reduce Risk with Powerful Analytics Software

6 th Annual EclipseCon Introduction to BIRT Report Development. John Ward

Our mission is to provide the best back offices solutions available in the market today. You will not find another service provider that is more

An Approach for the Systematic Development of Domain-Specific Languages

Source Code Translation

Windchill PDMLink Curriculum Guide

A Tool for Evaluation and Optimization of Web Application Performance

Software Development Kit

Business Intelligence Solutions Architect Band 8a

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Data processing goes big

Programming Languages & Tools

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

ActiveX AJAX ASP. AudioMP3

DIABLO VALLEY COLLEGE CATALOG

Figure 1 - BI Publisher Enterprise Capabilities. OAUG Collaborate 08 Page 2 Copyright 2008 by Lee Briggs

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Big Data Executive Survey

SOFTWARE TESTING TRAINING COURSES CONTENTS

Parsing Technology and its role in Legacy Modernization. A Metaware White Paper

Vanguard Knowledge Automation System

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

zen Platform technical white paper

Designing a Semantic Repository

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools

OBJECT PERSISTENCE AND AGILE SOFTWARE DEVELOPMENT

WEB DEVELOPMENT IA & IB (893 & 894)

Configuring Firewalls An XML-based Approach to Modelling and Implementing Firewall Configurations

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

Cost Savings Solutions for Year 5 True Ups

White Paper: 5GL RAD Development

Tables in the Cloud. By Larry Ng

An approach for the systematic development of domain-specific languages

How To Set Up An Outsourcing Center In China

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

Microsoft Office SharePoint Designer 2007

A terminology model approach for defining and managing statistical metadata

Netezza Workbench Documentation

KNOWLEDGE 4YOU KNOWLEDGE4YOU.COM. Examples of the types of clients and the work we do for them are: - Educational Institutions

DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner

Deploying MATLAB -based Applications David Willingham Senior Application Engineer

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

IBM Rational Web Developer for WebSphere Software Version 6.0

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

CS 40 Computing for the Web

How Microsoft IT India s Test Organization Enabled Efficient Business Intelligence

XML Integrated Development Environments Accelerating XML Application Development in the Enterprise

UML FOR OBJECTIVE-C. Excel Software

Net Developer Role Description Responsibilities Qualifications

Revel8or: Model Driven Capacity Planning Tool Suite

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance

To introduce software process models To describe three generic process models and when they may be used

Effective feedback from quality tools during development

Actuate Business Intelligence and Reporting Tools (BIRT)

Chapter 13: Program Development and Programming Languages

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Introduction to Dreamweaver

NonStop SQL Database Management

Pivot Charting in SharePoint with Nevron Chart for SharePoint

SQL DBA Bundle. Data Sheet. Data Sheet. Introduction. What does it cost. What s included in the SQL DBA Bundle. Feedback for the SQL DBA Bundle

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Key Benefits of Microsoft Visual Studio Team System

A Visual Language Based System for the Efficient Management of the Software Development Process.

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Fall 2012 Q530. Programming for Cognitive Science

!!!!!! "#$%&'&()%*+,-))!.'',(+-$(/#!0%,%-)%!.1$/2-$(/#!.!3%)$!4&-+$(+%!!!!

Bentley ArcGIS. Connector

Appendix C: Software Papers and Case Studies

APPENDIX III - Role definitions and required skills, by category. Application Development Category

An Oracle White Paper May Oracle Database Cloud Service

Establish and maintain Center of Excellence (CoE) around Data Architecture

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

11 ways to migrate Lotus Notes applications to SharePoint and Office 365

OVERVIEW HIGHLIGHTS. Exsys Corvid Datasheet 1

Automating with IBM SPSS

Getting Started With Enterprise Architect

Model Driven Testing AGEDIS Architecture Interfaces and Tools

Outperform Financial Objectives and Enable Regulatory Compliance

You may visit to understand more about the organization's vision and landmarks.

Transcription:

We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that are new and different we call it innovation. Only knowledge allows us to achieve these two goals. Peter Drucker

CONTENTS: INTRODUCTION 2 AN EXAMPLE 3 APPLICATIONS 7 DATA MAPPING AND TRANSACTIONS 7 ANALYTICS AND VISUALIZATIONS 8 MODEL INTEGRATIONS 8 INTENTIONAL SOFTWARE Intentional Software s mission is to make business domain knowledge more accessible and useful. We help customers record and process knowledge to activate and automate their knowledge work improving their productivity and accelerating their innovation. Intentional Software was founded by Charles Simonyi, chief architect of Microsoft Word and Excel. Prior to joining Microsoft in 1981, Simonyi created the first WYSIWYG (What You See Is What You Get) Word Processor at Xerox PARC which revolutionized how business professionals create documents. Charles Simonyi holds a PhD from Stanford University. INTRODUCTION Every organization has unique business domain knowledge that provides them their primary source of productivity and innovation. All too often, however, this knowledge is not efficiently captured and used. It is scattered in documents, spreadsheets, models, people s heads, and buried in software code. What if this knowledge could be more easily captured in your organization and treated as an asset that can be shared, reused, activated and processed to create better business outcomes? Intentional Software offers a platform that help customers capture and make more efficient use of their business domain knowledge. Knowledge is turned into a processable asset. Similar to other processing technologies - such as word processing, data processing, natural language processing or transaction processing knowledge processing operates on knowledge as input and transforms it to a useful output, like automating a process, or generation of software and other artifacts. By representing the knowledge of a business concisely in a structured way, much labor intensive work, including reading documents or models, manually checking them and recoding them into new formats, can be completely automated, thus reducing errors, time and manual work. Instead knowledge is used as processable instructions which can execute the knowledge similar to how software programs execute computer instructions. Page 2

BUSINESS DOMAIN KNOWLEDGE Today organizations use a combination of documents, spreadsheets, databases, XML, models and software to describe and automate the knowledge in their business processes. The business professional who has the business domain knowledge - the subject matter expert, or domain expert - records their knowledge in documents, spreadsheets, and models. These specifications are read and manually translated into new artifacts, resulting in more documents, more spreadsheets, more models, more schemas, and more software code. Not only is this a labor intensive, error prone and fragile process, but it also lends itself poorly to repeatability when changes occur. PROCESSING KNOWLEDGE In contrast to the traditional manual flow, using Intentional s platform for processing knowledge, the domain expert, as before, records the knowledge their intentions in a document, but this time the document is an Intentional structured document. The domain knowledge in the document medical terms, questions, measurements is represented in the structured document expressing the knowledge from the domain expert. The new description is very similar to the Word document and looks like this: As an example, using this traditional process, a typical description from a professional using a word processor to document a medical health assessment form could look like the following Word document, which would require manual interpretation and translation to some other form to be ready to automate. In this new document, the content is essentially the same as in the Word document, but has a rich structure which allows processing of the knowledge to analyze, verify, execute and transform it. Page 3

The knowledge from the medical domain expert is now used to define how the data gathered when executing the previous health assessment will be used to devise treatment plans for a specific patient. These treatment plans are also recorded by the medical domain expert in a structured document: VERIFYING KNOWLEDGE These rule sets can be analyzed statically and executed with test data to verify their completeness and correctness. This gives the medical domain expert direct feedback of how correct and complete their knowledge is. To run the knowledge, we use an execution environment for the medical domain at hand. Below is an example of a test execution of the questionnaire we saw earlier: The medical domain expert is recording the rule sets using answers to the questions in the health assessment questionnaire by referencing these questions explicitly. A rule set can also create new definitions of calculated values from the patient medical form, for example Waist to Height Ratio which is calculated directly from the patient data coming from the patient when the questionnaire is executed. Page 4

EXECUTING KNOWLEDGE We capture the knowledge in a processable for which will allow us to directly execute it, similar to how a spreadsheet computes formulas. The difference to a spreadsheet is that we use the Intentional platform to create a structured document that a domain expert can use that closely matches how people in that domain already communicate, and yet the knowledge is directly accessible to automation. One application of executing knowledge is to produce standalone artifacts like policy documentation, documentation of processes, forms, call scripts for data centers, or help files. Another application of executing knowledge is to generate software from it. Rather than directly running the knowledge descriptions as we did above, we can instead transform the knowledge into traditional software code for a different execution environment. We can compile it to a different execution environment which uses a traditional computing language. Note that the domain expert (left) does not need to know anything about the execution environments or computer language (right). The knowledge is distilled in a concise form which does not include any implementation assumptions or details. Indeed it is completely implementation independent and can be directly targeted to multiple execution environments without changing the business domain knowledge itself. This medical domain knowledge example has shown knowledge processing in action. By recording the knowledge concisely in a structured from and processing it, productivity can be improved, and new knowledge can be used to drive accelerated innovation. The new process is fast, accurate, and can be repeated quickly when changes occur. One example could be a rules engine where knowledge is compiled to rules engine code. The example here shows this compilation. Note how each rule of the domain knowledge (left) has been transformed into executable code in a rules engine programming language (right). Any changes in the domain knowledge can be directly recompiled into new version of the rules engine code. Page 5

DOMAIN SPECIFIC LANGUAGES The knowledge description has syntax and semantics which is what is being executed. It is language and code in the traditional computing sense; domain language and domain code, i.e. language and code for a specific domain. The domain language and domain code can be interpreted or compiled since they have computable syntax and semantics. This is often called a Domain Specific Language (DSL) to distinguish it from a General Purpose Language (GPL) like Java, C++, C#, Python, COBOL, or FORTRAN. Traditionally DSLs have been technical in nature targeting technical users. Examples of popular DSLs are: SQL databases HTML web layout XML data encoding UML visual modeling SysML systems modeling VHDL hardware design Note that all these languages end with an L, which stands for Language. Here is an example of some SQL code: DSLs FOR BUSINESS USERS The Intentional Platform uses DSLs at its foundation. As we saw in the SQL example, DSLs tend to be very technical and hence not suitable for business users. Therefore the Intentional Platform projects the DSL into a user interface experience that the business user is more comfortable with. The Intentional Platform uses a projectional editor that transforms DSLs into a user interface accessible to business users. As we saw in the medical domain knowledge example in the previous pages, the projections of the DSLs can be tuned to the exact need of the business domain expert the person with the business domain knowledge. Many business users are used to an interface like Microsoft Office Word, Excel, PowerPoint. These systems, underneath the user interface, also have a rich structure which is being presented as an interactive environment for the end user. Similarly, the Intentional Platform presents an interface for DSLs that is similar to a Microsoft Office style application. Below is an example from a Financial Document Workbench to produce monthly financial reports from Excel data, and other data sources: SELECT title, COUNT(*) AS Authors FROM Book NATURAL JOIN Book _ author GROUP BY title; DSLs have proven to be very powerful and successful, and there are thousands of DSLs in use today, most of them proprietary. One problem is that these DSLs require a strict syntax and semantics, and therefore have not been so accessible to non-programmers, specifically people with the domain knowledge. Can the power of DSLs be made available to the business domain expert? Page 6

APPLICATIONS The previous example illustrates a typical application of processing knowledge in the medical domain the creation and running of software directly from medical knowledge descriptions. Intentional customers use their own unique business domain knowledge for processing in several applications; indeed there is an endless opportunity of applications by encoding the specialized knowledge of domain experts. Here are a few more applications from projects. DATA MAPPING AND TRANSACTIONS The mapping of data elements to databases and transactions is a tedious, repetitive and error prone process that requires not only deep technical skills, but also a deep understanding of the business process to be automated. Recording the domain and technical knowledge in a processable form can automate the integration and verify mappings and corresponding transactions. This is especially beneficial when new or changed data elements and processes are introduced frequently. The example below shows an integrated view of business domain and technical knowledge of a certain data element with its associated business rules. These data mappings and transactions must also be verified and tested in production systems through a test harness. The example below shows such a test of corresponding transactions. Page 7

ANALYTICS AND VISUALIZATIONS Data analytics either require specialized programming skills, or apply simplified tools that limit what analytics and visualizations can be done. By combining the best of both worlds, the knowledge processing solution uses advanced big data processing back ends and plug and play visualization frameworks for the front end. The domain knowledge here provides a business user interface to control the back end processing as well as the visualizations. The description below is an example of such a set up to analyze a stream of data: MODEL INTEGRATIONS Systems engineering includes the use of several different models to describe various aspect of a system design. These models are typically not integrated with each other leaving large amount of manual knowledge work to reconcile these models as changes occur. Using knowledge processing, we define the languages used to describe these models and do correlation and automatic transformations across models in different formats. For example a CAD model can be related and linked to rows in Excel, and a model in SysML. The example below shows a Systems Engineering design where these three types of models have been integrated and linked for use in dependency tracking, consistency checking and impact analysis of a system design. From this knowledge description of what analytics and what visualizations a business professional desires, a data back end with corresponding analytics and visualizations will be run: Page 8