Difference between revisions of "MDT/SBVR-Proposal"
Latest revision as of 10:24, 13 August 2008
SBVR is a proposed open source component of the Model Development Tools (MDT) subproject to provide a metamodel implementation and sample tools based on the adopted Semantics of Business Vocabulary and Business Rules (SBVR) OMG specification.
This component is in the Proposal Phase (as defined in the Eclipse Development Process) and this document is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join in the development of the component. Please send all feedback to the eclipse.modeling.mdt newsgroup.
The Semantics of Business Vocabulary and Business Rules (SBVR) specification defines the vocabulary and rules for documenting the semantics of business vocabularies, business facts, and business rules; as well as a CMOF metamodel and XMI schema for the interchange of business vocabularies and business rules among organizations and between software tools.
SBVR is positioned to be entirely within the business model layer of the OMG’s Model Driven Architecture (MDA).
This positioning has two implications.
- SBVR is targeted at business rules and business vocabularies, including those relevant for usage in conjunction with those rules. Other aspects of business models also have to be developed, including business process and organization structure, but these are to be addressed by the OMG in other initiatives.
- Business models, including the models that SBVR supports, describe businesses and not the IT systems that support them.
A business vocabulary contains all the specialized terms, names, and fact type forms of concepts that a given organization or community uses in their talking and writing in the course of doing business. The SBVR "Vocabulary for Describing Business Vocabularies" is based on the ISO terminology standards:
- ISO 1087-1 (2000) "Terminology work – Vocabulary – Theory and application" [ISO1087-1]
- ISO 704 (2000) "Terminology work – Principles and methods" [ISO704]
- ISO 860 (1996) "Terminology work – Harmonization of concepts and terms" [ISO860]
These standards have been used for many decades for multilingual correlation of vocabularies in support of language translation work. SBVR is the result of the integration of these ISO standards, formal logics, linguistics, and practical experience from foremost practitioners in the field of business vocabulary for business rules. They have over ten years experience in the development and application of the applied techniques included in the SBVR approach.
A business vocabulary provides a means of recording and communicating facts. Following OMG’s Model Driven Architecture, a business vocabulary developed as an information system independent model of business communication is used to drive the creation of a platform independent MOF model. The MOF model is, in turn, used to drive generation of a Java API (based on EMF) and XML Schemas.
A short introduction to SBVR, including sample business rules written in Structured English, is available here: http://www.w3.org/2004/12/rules-ws/paper/85/
The importance of supporting industry standards is critical to the success of the Eclipse Modeling project, and to Eclipse in general. The role of the Modeling project in the support of industry standards is to enable their creation and maintenance within the Eclipse community. Furthermore, as standards bodies such as the OMG have a strong modeling focus, the Modeling project needs to facilitate communication and outreach through its PMC and project contributors to foster a good working relationship with external organizations.
The objectives of this proposed SBVR component are to provide:
- an open source "reference" implementation of the SBVR specification
- an EMF-based foundation on which business vocabulary and business rules modeling tools can be built
- a basis for integrating and interchanging artifacts between business vocabulary and business rules tools
- a forum for engaging the community in validation of the SBVR specification
In addition to an implementation of the SBVR metamodel, this component will include sample tools that aid in testing and validating the metamodel implementation, and that help SBVR newcomers to better understand its use and potential.
- Project Explorer navigator view for business vocabularies and rules
- Import business vocabulary from UML domain models
- Code generation to Platform-Independent Model (PIM) technologies, such as UML and OCL
These deliverables will be packaged into two features so that other tool builders may include and install only the core metamodel plugins. The features and plugins will be organized as follows:
- Core SBVR metamodel: org.eclipse.sbvr.core.* and org.eclipse.sbvr.edit.*
- Sample UI tools: org.eclipse.sbvr.ui.*
 A Future "SBVR Tools" component?
Interest has been expressed for providing more complete exemplary SBVR tools. A future SBVR Tools component scope will be determined by the project community and contributions. Possible features include:
- SBVR Vocabulary editor
- SBVR Rule editor
- JET templates for producing XHTML formatted output, based on SBVR Structured English
- Code generation to Platform-Specific Model (PSM) technologies, such as Java or JBoss Rules (Drools)
 Relationship with Other Eclipse Projects/Components
- Model to Text (M2T) for producing SBVR Structured English.
- EMFT Search for querying business vocabularies.
- EMF Validation component for enforcing SBVR metamodel integrity constraints.
Obvious integrations between this and other Modeling subprojects/components will be explored as the component evolves.
 Initial Committers
The initial committers for this component would be:
- Dave Carlson (XML Modeling), proposed component lead
 Code Contributions
Dave Carlson will contribute:
- Initial implementation of the SBVR CMOF metamodel developed using EMF and UML2, consisting of Java packages within the org.eclipse.sbvr.core.* namespace
- Project Explorer navigator view for SBVR model content
 Interested Parties
 Developer Community
The team of initial committers will explore statements of interest from additional developers experienced with SBVR or willing to gain such experience.
 User Community
It is expected that the user community for this component will consist of Tool Builders who will create complete SBVR solutions using this metamodel implementation, and technical Business Analysts and Modelers who will use the sample tools to understand SBVR by building or browsing vocabularies and rules.
 Tentative Plan
The first release of this component would be tentatively scheduled for June 2009, as part of the annual simultaneous release.