Semantics in Declarative System by tyndale

VIEWS: 5 PAGES: 53

									Semantics in Declarative System
 The Evolution of Business Unit Empowerment
                     M

                            D
                  Metadata Solutions

                 Dan McCreary
           Dan McCreary & Associates
             Wednesday, 5/23/2007
               8:00 AM - 9:00 AM
            Level: Business/Strategic
                        Presentation Summary
       “Declarative programming” has become the latest
       buzzword to describe languages that abstractly
       define systems requirements (the what) and
       leave the implementation (the how) to be
       determined by an independent process. This
       makes the semantics (meaning) of declarative
       data elements even more critical as these systems
       are shared between organizations. This
       presentation:
               – Provides a background of declarative programming
               – Describes why understanding the semantic aspects
                 of declarative systems is critical to cost-effective
                 software development
   M
          D                     Note: All opinions stated in this paper are solely those of the author.
Metadata Solutions                                                                                        2
                     Presentation Summary (cont)
               – Discusses declarative and semantic aspects of
                 common development systems such as; XHTML,
                 CSS, XForms, XML transforms, XML Schemas, OWL,
                 metadata registries, web services, composition,
                 service-oriented architectures (SOA) and the
                 enterprise service bus (ESB)
               – Discusses how social networking software and Wikis
                 are used to quickly build consensus on precise
                 semantics
               – Presents ten specific recommendations to lower costs
                 of agile information systems
   M
          D
Metadata Solutions                                                      3
                     Presentation Includes
       • Definitions of declarative systems and contrasts with
         them with traditional procedural systems and stand-
         alone declarative languages
       • A critical analysis of semantics in declarative systems
       • Case studies using XForms, Wikis and other
         collaborative software
       • The role of social networking systems, reputation and
         trust in the development of semantically precise
         declarative frameworks
       • Specific recommendations of how organizations can be
         more effective by integrating semantics and declarative
         systems into their software development processes
   M
          D
Metadata Solutions                                                 4
                        Evolution Metaphors

                     • Specialization of Languages
                     • Generalization of Languages




   M
          D
Metadata Solutions                                   5
                       Evolution: Specialization
        • Darwin’s Galapagos Finches
        • Beaks are highly adapted to different food sources
        • Finches adapted to specific ecological "niches“ over
          millions of years of isolated evolution




              • Similar to domain-specific declarative languages
   M
          D
                                                     See Wikipedia "Darwin's Finches"   6
Metadata Solutions
                       Evolution: Generalization

       • Generalization: The Raccoon
               – The world has a higher population of raccoons today
                 due to their ability to quickly adapt to changing urban
                 environments
               – Similar to highly adaptive procedural languages




   M
          D
Metadata Solutions                                                         7
                          Computer Science Abstractions

                     Higher abstractions
                                                                 Declarative        <xf:input>
                                                                                      <xf:label>

                                                        Object
                                                                               Class MyClass(
                                           Structured                              Method MyMethod


                                Fortran                      Function(A, B)


                     Assembly                   FOR I = 1 TO 10 DO


                                   1010001010
   M
          D
Metadata Solutions
                                                                                    time           8
                      The Software Development Process
                                                              Requirements
                     Test                                                       (BA)
                     (QA Staff)
                                                        Declarative Languages




                     Build                                            Design
                     (Programmer)                                     (Architect)




   M                     • Requirements are about “What”
          D              • Design and Build is about “How”
Metadata Solutions                                                                     9
                     A Declarative “System” Is…
       • A software development system, tailored to a specific domain
         (such as web applications), used to capture precise business
         requirements within the context of a problem domain (the
         implicit context)
       • Declarative systems do not specify how requirements are
         implemented to build working systems. Declarative systems
         only define the requirements
       • Declarative systems document requirements in specialized
         vocabularies and can be used to generate entire working
         systems including user interfaces, persistence and test data
       • Declarative systems specifically omit some assumed
         requirements (such as system availability, performance,
         reliability, security etc)
       A Declarative system is a set of "little languages" with precise
         semantics that fit together like a puzzle to solve a problem

   M
          D
Metadata Solutions                                                        10
                         Computer Science Definition
                     Declarative                • Do not confuse a “Declarative
                     Languages
                                                  System” with the computer
                              Have sub-types      science language taxonomy
                                                  “Declarative Language”
       Functional
       Languages                                • “Declarative languages" are
                                                  used to describe a group of
                        Logic                     programming languages and to
                      Languages
                                                  contrast them against
                                   Constraint     imperative languages.
                                   Languages




   M
          D                                                See Wikipedia “Declarative Programming”
Metadata Solutions                                                                                   11
                     Declarative Systems and Context
       • Declarative Systems are specialized languages
         for capturing requirements within a specific
         domain
       • Just as the word “play” connotes meaning based
         on context* (i.e. theater vs. a playground), a
         given vocabulary has the ability to capture
         requirements based on the current problem
       • The vocabulary for capturing electronic form
         requirements (XML Schema) may not be
         appropriate for expressing your build process
         (Apache Ant)
   M
          D                                * See: http://wordnet.princeton.edu
Metadata Solutions                                                               12
                                                HTML, CSS and SQL
                                                                                                        xquery version "1.0";
  <?xml version="1.0" encoding="UTF-8"?>            /* global CSS used by all web pages */
                                                                                                        <html><body>
  <html xmlns="http://www.w3.org/1999/xhtml">       body {
                                                                                                        <h1>Old Expensive Books</h1>
   <head>                                             font-family: Arial, Helvetica, sans-serif;
                                                                                                        <ul>{
     <title>Declarative Systems</title>               font-size: 75%;
                                                                                                        for $book in doc("books.xml")//book
   </head>                                            margin: 0;
                                                                                                        order by $book/title
   <body>                                             padding: 0;
                                                                                                        return
     <h1>Introduction to Declarative Systems</h1>     width: 1000px;
                                                                                                        <li>
     <p class="author">Dan McCreary</p>             }
                                                                                                         {$book /title},
     <p class="date">April 2007</p>                 h1 {
                                                                                                         {$book}/author},
   </body>                                            color: blue;
                                                                                                         {$book}/price},
  </html>                                             padding: 0 15px;
                                                                                                         {$book}/pubyear}
                                                    }
                                                                                                        </li>
                     HTML                                             CSS                               }</ul></body></html>


                                                                                                                  XQuery
       http://www.w3.org/TR/REC-html32#body

                     • HTML, CSS, XQuery and SQL are
                       declarative languages using these                                           -- Old expensive books
                                                                                                   SELECT title, author, price, pubyear
                       definitions                                                                 FROM books
                     • The semantics or “meaning” of                                               WHERE
                                                                                                    price > 100 AND
                       each tag in the file is determined by                                        pubyear BEFORE „1960‟
                       an external organization                                                    ORDER BY title

                     • The syntax does not have to be                                                              SQL
   M                   XML
          D
Metadata Solutions                                                                                                                            13
                          XML Schema Sample




                     • Screen capture of Altova XML Spy
   M                 • 30 minutes to learn graphical notation
          D
Metadata Solutions                 See: http://www.altova.com/products/xmlspy/graphical_xml_schema_editor.html   14
                     Use Case: Electronic Forms
                                     • User fills out a web-
                                       based form
                                     • Typical requirements
                                       may include listing of
                                       data to be gathered,
                                       data types, validation
                                       codes and data
                                       repetition patterns
                                     • Examples:
                                        – HTML Forms
                                        – XForms
                                        – InfoPath™


   M
          D
Metadata Solutions                                              15
                         Forms Players

    <html>
       <head>
           <xf:model>     XForms
           <xf:/model>   Extension
       <head>                                Mobile Client
       <body>
         <xf:input>
         </xf:input>
       </body>                                   Netfront Mobile
    </html>


                             Forms Server
        My-XForm.xhtml
                                                                           Rendered
                                                                             Form

                                      XForms
                                     “Players”
   M
          D
                                                                   See Wikipedia “XForms”   16
Metadata Solutions
                 What Is Declarativeness for A Context?
                                               • Efficiency at capturing
                                                 the testable business
                     Schema Drawing Tool
                                                 requirements in a
                                                 semantically precise
                                                 and concise manner
                     XML Schema File (.xsd)
                                               • Example: Is a field
                                                 optional? Will validation
                                                 of the data fail if the field
                            XForms
                                                 is missing?
              xf|input:required
                 {font-weight: bold;}
              xf|input:required .xf-value
                 {background-color:#fff6af;}
                                               • Ability of each data
              *:required::after
                 {font-weight:bold;              element to have precise
                 font-size:1.5em;
                 content: "*"; color: red; }
                                                 meaning over time and
                       XForms CSS tags
   M                                             within organizations
          D
Metadata Solutions                                                               17
                                Declarative Spectrum
       General Purpose                                                          Narrow Purpose
       Less Abstract                                                             More Abstract

                                             C#                   Apache Ant     HTML      CSS
     Assembly
     Language        C   C++                Java   Python   XSL        XQuery      XML Schema

                               JavaScript     Groovy                  XUL      XForms   XPath
                                    perl       Ruby                XQuery Update     SQL


              • For any given context different “languages” have
                different levels of “declarativeness”
              • General purpose languages are less abstract but can
                solve a wide variety of problems
              • Declarative languages have a more narrow purpose
   M            and target a specific problem like styling a web page or
          D
                selecting data
Metadata Solutions                                                                               18
                         Middle-Tiers Remain Procedural
        declarativeness




       user
                                                                                                                           database



                         Presentation/style             Business Logic                           Data definition, insert,
                            (client tier)                (middle tier)                           selection and update
                                                                                                 (persistence tier)
                     •   When the interface is consistent, declarative languages flourish
                     •   Middle tiers tend to have the most variation
                     •   Wikipedia lists over 200 web application frameworks
   M                 •   CMSMatrix.org lists over 700 content management systems
          D
Metadata Solutions                        See: http://en.wikipedia.org/wiki/List_of_web_application_frameworks and http://www.cmsmatrix.org   19
              The Application Development Puzzle

                     Semantics
                                 Constraints
                                               Presentation



                                   Query
                     Workflow
                                                 Forms
                                 Update



                     Publish
                                 Build
                                                Transform
   M
          D
Metadata Solutions                                            20
                         Filling In Each Piece
                     With A Declarative Language

                     Metadata                       CSS
                     Registry     XMLSchema        HTML




                                    XQuery
                     BPEL
                                                XForms
                                XQuery Update



                     Cocoon
                                   Apache
                                    Ant            XSL
   M
          D
Metadata Solutions                                        21
                     Semantically Precise Vocabularies
                     Standard   Domain
                     Atom/RSS   Syndication/Notification
                     ACORD      Insurance Industry Forms Data
                     FpML       Financial Products Markup Language
                     FixML      Banking (Financial Information eXchange)
                     HL7        Healthcare (now using XML)
                     MISMO      Mortgage Industry
                     NIEM       National Information Exchange Model (registry)
                     OTA        OpenTravel Alliance (Travel industry)
                     SIF        School Interoperability Framework
                     GJXDM      US Department of Justice (registry)
                     XBRL       XML Business Reporting Language
   M
                                                    See: http://en.wikipedia.org/wiki/Category:XML-based_standards
          D
Metadata Solutions                                                                                                   22
                            Metadata Shopping Tools

                          Phone

                       Address

                     FirstName




                                  • You don’t need to know about
                                    100,000 SKUs to purchase 10
                                    items from a grocery store
                                  • Sub-schema generation tools give
                                    you exactly what you need and
                                    nothing more
   M
          D                       See http://niem.gtri.gatech.edu/iepd-ssgt/SSGT-SearchSubmit.do
Metadata Solutions                                                                                 23
                     Criteria for Semantic Precision

       • Is there a published standard?
       • Are there ISO/IEC 11179 definitions?
               – concise, precise, non-circular, distinct
       • Are people using it?
               – Do a Google search
               – > 100,000 and you are safe
               – < 10,000 and you should be concerned
                     Examples: filetype:owl, filetype:xsd
   M
          D                                                 See “Metadata publishing” Wikipedia
Metadata Solutions                                                                                24
                     If You Use Industry Standards…
                       You Could Be Almost Done…
       • If you use industry standards…
               – and these standards publish their documents in XML
                 Schema format…
               – and these standards have been transformed from XML
                 Schema to XForms…
               – and you use native XML databases to store and
                 XQuery to report on the data…
       • …then sample applications have been created
         and do not require additional procedural code
               – just change the constraints in the XML Schema and
                 rerun the transforms

   M                                                           See: http://www.exist-db.org
          D                             See also: http://www.alphaworks.ibm.com/tech/purexml
Metadata Solutions                                                                             25
                                        Accessibility
                                                                              • Architecture and
                                                                                Strategy
                                                                                (prevent unnecessary
                               IT
                          Strategists
                                                                                procedural code)

                         Procedural                                           • Extend declarative
                        Programmers                                             vocabularies and
                                                                                provide web service
                                                                                “glue”
                     Business Analysts
                                                                              • Precisely specify
                                                                                business requirements
                                                                              • Requires data stewardship
              SMEs and GUI Tools Users                                          training


   M
                                        Lower costs by moving routine logic maintenance to lower levels in the pyramid
          D
Metadata Solutions                                                                                                       26
                                  Java Libraries




                     10,000 class and 100,000+ methods available
                     …but which ones are relevant to your business problem?
   M
          D
Metadata Solutions                                                            27
                                      “Less is More”
                                                            • XForms 1.1 has
                                                              only 21 XML
                                                              elements
                                                            • Much of the
                                                              presentation of
                                                              XForms is
                                                              deferred to CSS
                                                            • Event
                                                              management is
                                                              deferred to the
                                                              XML Events
                                                            • XML binding is
                                                              deferred to the
                                                              XBL standard




   M                     Mies van der Rohe
                        Reconstruction of the
          D
                     German Pavilion in Barcelona      See Wikipedia “Minimalism”   28
Metadata Solutions
                     Learning XForms Vocabulary
                     1. Bind                               11. Message
                     2. Case                               12. Model
                     3. Input                              13. Repeat
                     4. Instance                           14. Secret
                     5. Group                              15. Select
                     6. Help                               16. Select1
                     7. Hint                               17. Switch
                     8. Label                              18. Submission
                     9. Load                               19. Submit
                     10. Output                            20. Textarea
                                                           21. Trigger
   M
          D           Source: W3C XForms Quick Reference http://www.w3.org/MarkUp/Forms/2006/xforms-qr.html
Metadata Solutions                                                                                            29
                     Recognizing XForms Structures
                        1. Bind                           11. Message
                        2. Case                           12. Model
                        3. Input                          13. Repeat
                        4. Instance                       14. Secret
                        5. Group                          15. Select
                        6. Help                           16. Select1
                        7. Hint                           17. Switch
                        8. Label                          18. Submission
                        9. Load                           19. Submit
                        10. Output                        20. Textarea
                                                          21. Trigger
   M                 Color coding limited vocabularies can increase the speed of pattern matching.
          D                    Look for advanced text editors to provide custom element coloring.
Metadata Solutions                                                                                   30
                     The New Semantics of "Nutshell"
                                      • The 1.4 release of Java 2
                                        Standard edition increases
                                        the size of the platform by
                                        50%, to 2,757 classes in
                                        135 packages
                                      • 1.5 and 1.6 add additional
                                        classes

               992 pages


                      nutshell: something of small size, amount, or scope
   M
                      in a nutshell : in a very brief statement
          D
Metadata Solutions                                                          31
       Procedural Programming is Not “Poison”
                     • It would be a mistake to tell all
                       your procedural programmers that
                       the programs they are creating are
                       fundamentally evil
                     • The relevant questions are:
                       - How closely does it fit the problem
                         domain?
                       - Can BAs, SMEs and other non-
                         programmers maintain the business
                         rules?
                       - What are the chances that others will
                         be able to maintain it in future years?
                       - How good are the development tools
   M                     for your system?
          D
Metadata Solutions                                                 32
               Popular Language Have Better Tools
                     Limited resource cost curve                  • Editor
       $
                                                                       – Syntax coloring
                 demand                                           • Debugger
                                           Limited supply curve
                                                                       – Set breakpoints
                                          Whuffie curve
                                                                       – View internal state variables
                                                                  • Refactoring tools
                                                                       – Can recognize reoccurring
                             quantity
                                                                         patterns and suggest
                                                                         alternatives
                                                                  • Performance
                     Whuffie is a reputation based
                                                                       – Code profiling
                     currency. Prices drop as
                     demand increases.
   M
           D                     The higher demand for a good debugger, the better open-source products will become.
Metadata Solutions                                                                                                     33
                     If You Give a Kid a Hammer…
                               …the whole world becomes a nail
                         • People solve problems using
                           familiar tools
                         • People develop specific
                           Cognitive Styles* based on
                           training and experience
                         • What are we teaching the next
                           generation of developers?

   M
                           * Source: Shoshana Zuboff: In the Age of the Smart Machine (1988)
          D
Metadata Solutions                                                                             34
                     Use Case: Build Scripts
                               • Instructions for compiling
                                 source code or
                                 transforming data
                               • Vocabulary includes terms
                                 such as build, compile,
                                 transform, copy or clean
                               • Examples:
                                 – Apache Ant
                                 – Apache Maven
                                 – UNIX™ make
   M
          D
Metadata Solutions                                        35
                     Use Case: Data Selection With XQuery
                                      • Ways to specify what data
                                        you want to extract from a
                                        data set
                                      • Typical tasks include
                                        selecting attributes
                                        (columns), filtering,
                                        restricting results and
                                        changing sort order
                                      • Examples
                                         – Structured Query Language
                                           (SQL)
                                         – XQuery (w3c standard)
                                         – FLOWR


   M
          D
Metadata Solutions                                                     36
                      Semantics
       • The science of meaning
       • What you mean when you say “cat”
       • How do you associate meaning with
         symbols (verbal, physical, textual)
       • How do we know if we both mean the
         same thing when we use a word?
       • What if a word has multiple meanings?

   M
                      Reference: WordNet
          D
Metadata Solutions                               37
                                  Semantic Triangle
                                            concept




                                                                           “cat”
                                                                  symbol
                       referent

                     • Symbols can only link to referents through concepts
                     • You can not link directly from a symbol to a referent
   M
          D                                                Wikipedia: Semiotic triangle
Metadata Solutions                                                                        38
                                   Communication
                                           “cat”


       • Domestic feline                                          • Domestic feline
       • House pet                                                • House pet
       • Has fur                                                  • Has fur
       • Has whiskers                                             • Has whiskers
       • Sometimes has fleas                                      • Sometimes has fleas
       • Chases mice                                              • Chases mice


                     • Communication involves exchanging symbols that
                       describe common attributes
                     • A one-to-one match of attributes that describe a common
   M
                       symbol match implies a high precision match
          D
Metadata Solutions                                                                        39
                     Same symbol – different meaning
                                    “customer”



       • First name                                         • Company name
       • Last name                                          • Home office address
       • Home address                                       • Branch office address
       • E-mail                                             • CEO name
       • Cell phone number                                  • Web site
       • Gender                                             • Industry code



   M
                      • Little match of common attributes
                      • Low precision semantic match
          D
Metadata Solutions                                                                    40
                             High and Low Precision
                      precise standard                   precise usage
                                                                                best

                                                          vague usage
                      precise standard

                                                                                better


                         vague standard
                                                         vague usage

                                                                                Not-so-good




   M
                     • The ideal is to have a precise standard and to use the
                       data elements exactly as they were intended
          D
Metadata Solutions                                                                            41
                            Semantic Precision
        • Semantic mappings are relative in time and
          between groups of people (organization)
        • Semantic variability over time
                 – Something that has precise meaning to you today
                   may not have the same precise meaning a year from
                   now
                 – Our memories are imperfect and change over time
        • Semantic variability across organizations
          (project and organization)
                 – A “customer” to one organization may denote a
                   person but to another organization it may denote a
                   company

   M
          D
Metadata Solutions                                                      42
                 Semantics of an XML Data Element
                          <code>47</code>
       • A developer puts an XML data element in an xml file
       • The tag has some meaning and the data within the tag
         has some meaning when it was created by the developer
       • What is the probability
               – That the developer will know the same meaning of the code 47
                 one year later
               – That another project that opens file will understand and be able
                 to use the meaning of the tag
               – Vague standards often trigger vague interpretations of the
                 meaning of data
   M
          D
Metadata Solutions                                                                  43
            Semantic Precision in Space and Time
                       space: (projects, organizations)
                                                                      Large
                                                                    Semantic
  world
                                                                    Footprint
                                                                  (long lifetime
  enter-                                                            systems)
  prise



    dept.


  team

                      Small Semantic
  person                 Footprint
                     (rapid prototype)
   M                                                                                 time
          D                  weeks            months      years          10+ years
Metadata Solutions                                                                          44
                     DRY Coding, XSL and MDA
                         • If developers can’t quickly transform it…
                             …they will copy it.
                         • DRY: Don’t Repeat Yourself
                         • Documentation
                             – Is always kept up to date?
                             – Do developers communicate their intent?
                             – JavaDoc – generated from the source code
                         • The tendency to copy and paste is just too
                           common
                             – Developers must be diligent
                             – Budgets must be adequate
                             – Time must be sufficient
                         • You can promote Model-Driven Architecture
                           (MDA) by reducing the effort of transformation
                           from specifications captured in declarative
                           languages
   M
          D
Metadata Solutions                                                          45
                           Use Procedural “Glue”


              XForms XML
              (REST)                Procedural           XQuery Update
                                      “Glue”             (JDBC)




        • XForms uses a REST interface to send XML to a server
        • Some XML databases (DB2 v9) sill use JDBC interfaces to insert
          XML documents
        • Use procedural glue to build custom interfaces between systems
          with incompatible interfaces
   M
          D
Metadata Solutions                                                         46
       How Quickly Can We Create New Declarative
                     Languages?
       • Configuration files are really just small
         languages
       • Configuration files are easy to parse,
         validate data using XML tools and build
         custom forms to use
       • Easy to teach non-programmers to
         graphically build XML Schemas to validate
         XML files
               – Answer – About a week
   M
          D
Metadata Solutions                                   47
              How Quickly Can We Create Consensus?
        • Example: XForms standard
                 – Work started in 2001
                 – XForms 2.0 is still a two to three years away
        • How can we accelerate this consensus
          building process?


                                What factors impact the rate that species evolve?
                                What impact does life span have on a species?
                                How are design ideas exchanged between species?
   M
          D
Metadata Solutions                                                                  48
                     Solution: Wikis and Collaboration




                 • How long does it take to build consensus on the
                   semantics of a new data element?
                 • How many people might use this declarative
                   language?
                 • The larger the stakeholder group, the longer it takes
   M
          D
Metadata Solutions                                                         49
           Relative
          Code Base
                      Parker Projection
       100%




   M
                                                                             Time
          D
                        Source: Jason Parker, Minnesota Department of Revenue, November 2006   50
Metadata Solutions
                            Top 10 Recommendations
       1.            Use semantically-precise declarative systems over procedural systems
                     when the business problem is in the right context
       2.            Aggressively promote data stewardships within business units
       3.            Use controlled vocabularies and metadata shopping tools to allow non-
                     programmers to select data elements from lists
       4.            Separate semantics (leaf elements) from constraints (branches)
       5.            Leverage the pattern matching portion of the brain using graphical
                     development tools and element-based syntax coloring editors
       6.            Train programmers on ways to extend declarative vocabularies using
                     technologies such as XML Binding Language (XBL)
       7.            Use procedural code to build interfaces between incompatible systems
       8.            Isolate procedural by providing XML/REST service wrappers code behind
                     semantically precise web services
       9.            Don’t expect your procedural programmers to jump on the declarative
                     bandwagon without some training
       10.           Use social networking tools (voting, wikis) to rank and find appropriate
                     tags and extensions

   M
          D
Metadata Solutions                                                                              51
                      Unanswered Questions
       1. How will declarative systems evolve? Will there be a few or many?
       2. How quickly will declarative languages evolve? Will they continue to
          specialize?
       3. Can we deliver entire working systems without ever leaving a single
          family of standards? (see XForms/eXist and w3c example)
       4. What will be the impact of semantic wikis and micro-formats?
       5. Can individual tags stand alone or do they need to be integrated into
          larger standards to be accepted?
       6. Will metadata shopping tools and graphical constraint tools make the
          process of building entire systems accessible to mere mortals?
       7. Will declarative systems halt overseas out-sourcing of procedural
          software developers?
       8. Will there be a large increase in the demand for staff that can extend
          declarative systems?
       9. Will declarative systems allow applications to run anywhere a “Forms
          Players” can run?
       10.Will vendors used to locking customers into proprietary APIs be
          forced to compete by having more robust and more reliable execution
   M      platforms?
          D
Metadata Solutions                                                                 52
                                  Selected References
       •       Evolution
                – Charles Darwin, Origin of the Species
                – Richard Dawkins, The Blind Watchmaker
       •       Cognitive Styles
                – Shoshana Zuboff: In the Age of the Smart Machine (1988)
       •       Building Trust
                – Succeeding with Objects: Decision Frameworks for Project Management, Adele
                  Goldberg and Kenneth S. Rubin
       •       XML Data Standards
                – NIEM Concept of Operations at NIEM.gov
                – ISO/IEC 11179 (wikipedia)
       •       XForms
                – XForms.org, wikipedia
       •       Domain Specific Languages
                – Niel Ford, Language Oriented Programming
                – Martin Flowler
                     http://www.infoq.com/presentations/domain-specific-languages


   M
           D
Metadata Solutions                                                                             53

								
To top