InfoQ

News

Charles Simonyi reveals production use of Intentional Software @ JAOO

Posted by Floyd Marinescu on Sep 24, 2007 10:30 AM

Community
Architecture
Topics
Domain Specific Languages,
Design
Tags
IDEs,
Language Features
At the JAOO conference in Denmark today, Charles Simonyi (recent space tourist, and ex-Microsoft lead architect of Word & Excel) summarized a brief history of software as a struggle between the separation of the problem and the solution, referring to the mismatch between how domain experts think about and store their domain knowledge and how programmers have to store and rewrite that knowledge to build software to serve those domains.

The vision of Intentional Software, the company Charles founded is a world in which domain experts can write their requirements in any notation or input form that is familiar/comfortable to them (boxes, lines, tables, formulas,etc) and this "domain code" is used as a first class citizen within the software development project, used as an input around which the rest of the application gets generated. Business users write the domain code, developers write the program generators.

The vision has been developed into the "Domain workbench" product by Intentional Software, who has been working on it for over 5 years and is currently going through private beta testing and production use at a couple of consultancies, including Capgemini.  The domain workbench fits all the requirements of a Language Workbench as defined by Martin Fowler.

Domain code is represented behind the scenes in a tree structure called the "intentional tree" which can be projected into multiple notations to allow business users to express domain code in different ways most suitable for them. 

Domain code is likened to domain specific languages but are not executable, and can be much simpler since they do not need to be formal parsable languages and they can be ambiguous. Problems in ambiguity can be solved by using multiple notations/projections of the underlying domain code that can capture different subsets of data - Charles gave an example of CAD systems, in which you can draw a circle but then in a separate view define what the circle is.

Charles invited Henk Kolk, VP of Technology from Capgemini, to show some of the work they've done with Intentional's tools. Henk spoke about the pension space where pension plans are extremely complex and also change frequently over time.  One company tried to build a general data model for a pension plan and it took them several years.

Henk mentioned that Intentional's tool allowed the capture of complex pension plan information in the same notations used by the business experts who prefer the use of Word and Excel combined with a home grown formula/notation. The pic below shows an identical table-UI built in the domain workbench as the original source in Word:


Domain workbench allows code completion and also multiple projections of the same domain code:


Business users can even embed executable testing in the domain workbench right next to their own definitions:


Henk mentioned how the business users were naturally able to go in and begin "coding" on their own and all of that business knowledge was then preserved and used to generate the rest of the application. Capgemini initially tried to build a general DSL for pension plans but now using Intentional they intend to release a Domain Workbench as a product for all of their pension firms clients.

Not much has been published about Intentional Software yet but InfoQ will publish a video interview with Charles Simonyi (recorded at JAOO) and also filmed the session mentioned in this post.  A research paper also goes into more depth about Intentional Software. The tool does not have a set launch schedule but we'll be watching closely for any changes.

2 comments

Reply

youtube by youtube youtube Posted May 3, 2008 3:54 AM
Re: youtube by taker yurtok Posted May 6, 2008 11:41 AM
  1. Back to top

    youtube

    May 3, 2008 3:54 AM by youtube youtube

    Thanks for post, and nice all comments ! :) redtube xvideos youtube youtube youtube videobizde.com 89sex.info amcık porno izle porno

  2. Back to top

    Re: youtube

    May 6, 2008 11:41 AM by taker yurtok

    havalandırma havalandirma izolasyon Sohbet iso 9001 iso 14001 Yangın Söndürme yangın söndürme cihazları yangın dolapları yangın tüpü izalasyon ısıtma soğutma isitma sogutma Aspirator Aspiratör Vantilatör sohbetim turizm işletme belgesi turizm belgesi turizm yatırım belgesi Chat sohbet odası sohbet sitesi türkiye sohbet tr sohbet tüm türkiye sohbet arkadaş sohbet türkiye sohpet kızlarla sohbet kızlarla sohpet muhabbet muhappet kızlarla çet çet türkiye çet çet sohpet mırç mirç türkiye mirc mirc muhabbet Sohbet Sitesi Chat Sohpet Yangın yangın güvenlik yangın söndürme sistemleri yangın tüpü dolum yangın merdiveni yangın çıkış kapısı  Hava Soğutma Hücreli Aspiratörler Fanlar Radyal Körükler Toz Toplama Soğutma Kulesi Klima Santraller Malzeme Nakil Vantilatörleri iso 14001 iso 14001 iso 22000 iso 22000 haccp belgesi haccp belgesi ikamet tezkeresi yabancı çalışma izni yabancı personel çalışma izni yabancı çalışma izni yabancı personel çalışma izni ohsas 18001 ohsas 18001 iso belgesi iso 9001 belgesi ohsas belgesi ISO 9001 Teşvik Belgesi Çocuk Bezi Hasta Bezi Makyaj Malzemeleri Makyaj Temizleme Mendili Kişisel Bakım kolonyalı mendil Islak mendil Dudak Koruyucu Temizlik Ürünleri Göz Kalemi Diyet Ürünleri Süper Site driver Güvenlik Kamerası Islak Mendil Kolonyalı Mendil Kolonyalı Mendil JoyTurk driver ara web tasarım Güvenlik Kamerası paketleme Kamera gizli kamera Kamera Kurulum Tatil Tatil Yerleri Tatil Beldeleri Perde Perde Modelleri Kamera Epilasyon Emlak Yaşam Tatil Video Cilt Bakımı video süper perde jaluzi perde stor perde dikey perde perde modelleri perde jaluzi perde stor perde dikey perde perde modelleri magazin haberler spor haberleri video eğitim Giyim

Exclusive Content

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.

Voca, UK's largest payment processing engine running Spring

William Soo and Meeraj Kunnumpurath discuss the Voca transaction processing system, architectural challenges and requirements, Voca's Spring/J2EE architecture, and the future SEPA architecture.

Patterns for securing architectures

Security is about trade-offs. Only a few have the expertise to design good security. This talk focuses on Security Patterns, such as Role-based Access Control, Single Access Point, and Front Door.