This Project addresses the broader topic of business process modeling for SOA development and enterprise engineering. We aim to study extensions to existing languages and mechanisms for business process and rule modeling to support capturing of business logic in the form that can be directly utilized by developers. Our goal is to enable communication between business users and developers of the SOA-based systems. The scientific challenges lie in the integration of formal semantics and rules with current standards in order to extend technologies and tools within the system development lifecycle. This research will involve the following activities:
- Study the most efficient way to define business processes using business rules. Study the utility of different types of rules (e.g., derivation, integrity, production, and ECA) for business process modeling. Evaluate and possibly extend known business rules frameworks with other types of rules from the perspective of business rules in the business process definition;
- Study how to help business users to define business rules. This includes questions of what role ontologies can play in this process to ensure that the true meaning of the business logic is captured and extended to process models and Web service compositions. Study how semi-structured natural language can be used for developing business vocabularies with explicitly defined formal semantics in the context of business rules and business process modeling;
- Develop an upper level ontology (based on the evaluation of existing ones) for expressing business entities and their relationships. This ontology can be extended by business users to create their own language. Align the ontology with other business vocabulary and process modeling standards;
- Formalize how the semantics of the upper level ontology concepts are carried through different types of business rules and how the resulting semantics of the rules and ontology integrate with process languages like Business Process Modeling Notation (BPMN). The goal is to develop an understanding of the requirements for preserving the intentions of the stakeholders captured in business rules and the reliable propagation of those intentions into executable service compositions;
- Develop a set of supporting tool prototypes to provide proof of a concept and evaluate the proposed solutions in the scope of service-oriented architecture standards, tools, and software frameworks.
Our approach is based on the principles of a software engineering discipline – Model-Driven Engineering (MDE). MDE offers modeling methods that increase the level of abstraction when developing software by shifting from low-level platform specific details towards high-level software modeling approaches. Not only does this allow for reusing the same software design on various implementation platforms, but also and more importantly for building more reliable software solutions verified in early design stages. Our original research contribution is in extending and integrating the languages for business process and service modeling with rules and ontologies at the formal semantics level of the considered languages. By applying MDE principles, we will be able to: (i) place human-used business vocabularies, machine-used ontologies, business rules, and process models into the same technical space with other software development models for service-oriented systems with the use of meta-modeling; (ii) carry intentions of business users down to the implementation levels of service compositions at which level the system developers work; and (iii) support automatic generation of high quality Web service compositions from business process models captured in rules and ontologies.
|IBM||Atlantic Canada Opportunities Agency|