Focus areas of the BIT group
The Business Integration Technologies (BIT) research group at the Zurich Research Laboratory works in the areas of Business Process Management (BPM) and Service-Oriented Architectures (SOA).
BPM is a discipline that develops methodologies and technologies to enhance the effectiveness and efficiency of business processes using information systems. SOA is an IT architectural style that focuses on the encapsulation of business functionality into reusable services and their implementation in a distributed computing environment.
BPM/SOA systems are developed today by explicitly capturing business processes in models that combine graphical and textual notations. Business process models are an essential means to create an interlock between business strategy and requirements and their IT implementation. These models can be executed in simulation environments, leading to insights into the effectiveness of the processes. Based on these insights, an optimized design of a process is developed and a service assembly is produced that implements the process. To obtain a consistent service assembly, architectural decision management is of central importance. The service assembly is then deployed on a process runtime that is usually instrumented with capabilities to monitor running business processes directly. Based on the monitoring information, business processes are managed and further improved. Needs for changes and adaptation of the running business processes can be derived and fed back into the original business process models. The Model-Assemble-Deploy-Manage phases constitute the corner stones of the BPM/SOA lifecycle.
Current projects of the BIT group
The current projects of the BIT group focus on the software engineering problems that occur during the Model-Assemble-Deploy phases. Our work focuses on issues summarized by the term "business-driven software engineering", which include business process modeling, IT architectural decision and requirements management, process model analysis, refactoring and pattern-based design, as well as code generation from process models. Our work follows the vision of a Business-IT systems compiler.
- Compiler and verification technology for BPM. We transfer and extend compiler techniques to the emerging process-oriented languages that are used in BPM/SOA such as the Business Process Modeling Notation or the Business Process Execution Language. For example, we developed the Process Structure Tree (PST), a key data structure that results from the efficient parsing of process models and plays a role similar to the Abstract Systax Tree in a compiler. Currently, we are focusing on static analysis to detect control and data-flow errors and on tooling to offer users support in correcting these errors. We are also investigating improved code-generation techniques that help deploy processes on a distributed and componentized IT architecture.
- Process and object lifecycle solutions. We investigate lifecycle management for business objects, which combines the design and analysis of stateful business objects with the development of process-centric systems. Our work entails comparing and merging different versions of business process models and addresses fundamental gaps in the BPM/SOA software lifecycle. For the first time, structural changes in process models can be detected automatically, and these changes can be merged in a semiautomatic and user-friendly approach. Versioning and roundtripping becomes more feasible, which also lays the foundation for the incremental deployment of partially changed SOA components.
- Model-driven development in BPM. Business-driven software engineering is based on model-driven techniques that facilitate work with models throughout the software lifecycle. Our current focus is on the development of patterns, transformations, and refactorings that enhance the productivity of business process specialists and support their efforts to capture business process models. By applying patterns, we can capture processes along the cognitive dimensions underlying the thinking of domain experts, which leads to higher-quality models. Transformations and refactorings encapsulate complex changes in a single click, and make real-time editing, i.e. creating a process model while discussing it with a specialist, possible in a tool.
- SOA and architectural decisions. Software architects consider capturing and sharing architectural decision knowledge to be increasingly important. However, many tacit dependencies exist in this knowledge that make it difficult to capture and reuse. Architectural decision modeling makes these dependencies explicit and serves as a foundation for decision knowledge management tools. We are developing architectural decision models supported by strong inferencing mechanisms that replace text templates and informal rich pictures used by architects today. In our architectural decision models, we link topic groups, design issues, architecture alternatives, and decision outcomes by containment relations as well as refinement, decomposition, and triggers dependencies. We also make the (in)compatibility of architecture alternatives explicit. This approach makes architectural knowledge reusable for education purposes and for customer projects, leading to a systematic decision process where the rationales for a decision become evident.