| Presentation of PhD study plan |
|
|
| Monday, 15 August 2005 | |||||||||||||||||||||||||||||||||
|
At the 2. of august, I presented my study plan for my supervisor Kjeld Schmidt and for two other senior staff members of ITU, Kasper Østerbye and Yvonne Dittrich. Anther PhD student, Lene Pries-Heje, also presented her study plan. My plan was accepted by the seniors and the next step is now to submit it to the PhD study board at ITU, which will approve or reject it in the beginning of october. You can find the plan under the download section under the Diverse category and the presentation of the plan under the presentation category, or you can read it directly here. IntroductionThis study plan describes how the Industrial PhD study for Steen Brahe will elapse. The study was initiated at the 1. of April 2005 with an expected end date at the 1. of April 2008. The project is carried out between Danske Bank and the IT University of Copenhagen under the Danish Industrial PhD programme. Project descriptionObjectiveThe main objective of this work is to describe requirements and make prototype tools to heighten the level of abstraction at which business processes are developed as executable workflows. It follows the new software development paradigm, Model Driven Engineering (MDE), which focuses on heightening the level of abstract for IT implementation from the code centric level to focus on models. The focus will be on tool enabling customisation of Domain Specific Languages for modelling the business processes, customisation of the transformation of the model to code, and customisation of implementation patterns used under the transformation. Heightening the level of abstraction for the IT development of business processes from the platform specific level or code level to a level where the solution is modelled should make it simpler, faster, and less error prone to implement a business process. For a company this will result in a faster adaptation to a changing market and cut in expenses. The vision is that the transformation from business process model to IT implementation is complete, i.e. no changes have to be made to the generated code. This vision may hold in some cases, but in the complex real world where the MDE approach or paradigm is quite new, changes often have to be made in generated code. These changes must survive future transformations when the model is changed. It is the secondary objective of the project to describe how changes in generated code can survive transformations of a changed model. BackgroundOur world is becoming more and more dynamic. National borders disappear and markets are growing worldwide. It is now more necessary than ever that companies focus on expenses and how to adapt quickly to a changing market. The companies that are first to recognise a change in the marked and to change its business towards it will be able to get a larger share of the market. Others will disappear. One way a company is able to decrease expenses, get higher productivity and be able to change its businesses fast to a changing market is by defining and implementing its business processes as executable workflows. This is why one of the strongest driving factors in the Information Technology industry today is business process integration and automation. But defining and implementing business processes as workflows is complex and challenging in many ways. One of the challenges is that it involves different kind of people with different kind of skills and is a discipline that is not researched extensively. A business analyst defines the high-level logical business process, which a process developer implements and enriches at the platform specific level. When the business analyst makes a change in the model, the process developer has to make the similar change at the platform specific level. At Danske Bank, the founder of this project, we have over a three year period been implementing a large workflow management system. During the implementation of this system and implementation of business processes we have experienced the challenges that exist in defining workflows based on business process models. This project is an outcome of the experienced challenges. A new software development paradigm, Model Driven Engineering (MDE), is beginning to emerge. MDE focuses on models as the primary development artefact in contrast to most development practice today, where the code is the primary development artefact. The key idea behind MDE is separation of business/application logic from the technology. When a solution to a problem is developed as a model, it is independent of technology. If the technology changes, which can often happen, transformers can be developed, which transform models to a specific technology. In this way, the solution does not have to be reimplemented manually in a new technology because the models describe the solution in a precise way separated from the technology. Using MDE for developing business process models and the corresponding implementations enables the business analyst and the process developer to work on the same model or several related models. Instead of writing code, the process developer inserts the required information in a model. This model can then be transformed to code. There are several advances;
The area of MDE is still young and very much in evolution. The Object Management Group (OMG) has proposed an initiative for interoperability called Model Driven Architecture (MDA). This initiate is a realisation of the MDE vision around a set of other OMG standards like UML, MOF, XMI, OCL and CWM. Because of the young age of MDE the principles and the goals are not well understood. Therefore the OMG standards are still evolving. The OMG MDA initiative operates with two models; a Platform Independent Model (PIM), which represents the business/application logic, and a Platform Specific Model (PSM), which represents the business/application logic mapped to a specific technology platform. A key concept of MDA is transformation between models. A business analyst can specify the business logic in one model (PIM), which can be transformed to model (PSM) containing information about a specific technology. This model can either be generated completely or partially. If it is only generated partially, an IT developer must further enrich the model with technology and enterprise specific information. The goal of MDA is to make the transformation complete so no further work has to be done at the PSM. A lot of challenges have to be solved to reach this point. Software vendors are beginning to make tools to support Model Driven Software Development (MDSD), but are using different standards and terminologies. Not all vendors agree on the OMG standards which make interoperability between different tools difficult. Tool support for MDSD regarding business process modelling and implementation are available, but because of the relatively young age of the MDE paradigm, no agreed upon standards and no complete understanding of the principles in MDE, this tool support is only very limited. ChallengesSeveral challenges exist for modelling a business process and implementing it as an executable workflow. The challenges can be grouped in four categories:
Each enterprise does business on its own ways. It describes its processes in specific terms and has specific requirements for how to describe the process and tasks and how it should be executed. Tool vendors on the other hand make general modelling tools and general languages, which all enterprises have to use. It can be difficult, and often impossible to use the general modelling tool to model the business processes for an enterprise, if the enterprise does not model their processes using the same methodologies and terms as the tool vendors. It requires a large degree of flexibility and customization possibilities in the modelling tool. The enterprises may need their own Domain Specific Languages to model their business logic in a precise and direct way.
After a business process has been modelled, it may be implemented as an executable workflow. This requires the model to be transformed / translated into the programming language used as implementation (PSM). Enterprises will often have reoccurring implementation patterns for certain artefacts in the business model. No methods or tools support the enterprise to define these patterns and how they should be combined and customised with the business model, when it is transformed into a PSM. The consequence is that the transformation only produces a PSM shell, and afterward a lot of repeatedly manual implementation work has to be done, which is time consuming, expensive and error prone. The enterprises need to be able to attach custom transformations and custom implementation patterns to the elements in their own Domain Specific Language as suggested above.
After transforming the business process model (PIM) to a PSM, two or more models exist. As described above, a lot of manual implementation work may have to be done after the transformation by the process developer. If the business analyst changes the business process model, there is no more consistency between the PIM and the PSM. A transformation of the PIM to a PSM will override the implementation details made earlier by the process developer. If it is not possible to keep the two models synchronised, changes have to be made in two different models in the rest of the lifetime of the PIM and the PSM and the transformation from the PIM to the PSM can only be made the first time, where the PSM does not yet exist. The inconsistency of the two models results in that the abstraction level of the development process has not been lifted; each change in the PIM has to be manually implemented at the PSM.
There are several people involved in describing a business process and implement it as an executable workflow. A business analyst describes the high level business process. An IT architect ensures that the business process conforms to the business process management system used in the organisation, and an IT developer makes the implementation details for the executable workflow. The development process is complex because two worlds meet; the intuitive and not strictly described business world must be mapped to the strictly described IT world, where rules and models must be described semantically correct and not only by words. It is neither understood how many layers of models are required to describe a business problem and at what level of abstraction they should be at. Modelling and developing tools must be able to address these challenges in order to provide an agile software development environment and in order to make the MDE vision a success, where the primary development artefacts are the models. The Model Driven Engineering paradigm is still very much in evolution. The industry demands solutions, the software vendors cannot agree upon standards, and the research community is still far from having defined a sound set of foundation principles. Because of the early stage of this new paradigm, it is in general a large challenge to enable an MDE approach to software development. We must gain a better understanding of how MDE can be applied in the industry before the method and principles of MDE can be defined and understood. GoalsThis work will apply the MDE approach to the domain of Business Process Management by focusing at challenge no. 1, 2 and 3 above with the vision to lift the abstraction level of the development process from focus on code to focus on models. It will be based on real industrial experiences where the challenges described above are faced. The goal is to make a prototype tool which faces the challenges and gives a possible solution to them. To meet the challenges, the prototype tool must be able to be customised to:
Further it must allow models to be transformed several times without loosing manually entered changes in generated models. The prototype tool has several purposes; it will illustrate a possible solution to the described challenges, it will give a better understanding of these challenges, it will give direct value to the process developers in Danske Bank, and it will inspire tool vendors to implement similar solutions in their products. The prototype tool is therefore a concrete goal and outcome of the project. The following milestones are expected:
Research questionsSeveral questions arise about how to define a business process model in specific terms for an enterprise, i.e. let the enterprise define its own Domain Specific Language, and how to transform a business process model to a specific implementation, which contains enterprise specific information and implementation patterns:
Enterprises must be able to define their own modelling elements, i.e. they must be able to define their own Domain Specific Language. How can they define their own language, and how should the meta model of the language be stored. Should it be defined in an UML profile, as a model based on MOF, or as a proprietary meta model.
A specific element in the business process model can be transformed into a pattern in the PSM. The pattern is itself a PSM described in the same technology as the PSM to which the business process model is transformed. A pattern developer must be able to define and save patterns to be inserted under transformation. How can this be done in the most flexible way? Together with a defined pattern, a metadata description and some transformation rules must be defined. How can these elements be defined and made as an extension to a modelling tool, which other developers can use?
When transforming an element in the business process model to a predefined implementation pattern, this pattern must be customised to reflect the meta-data describing the element. The transformation rules can be described declarative or imperative. There are pros and cons by both methods. Both methods should be tried and pros/cons listed. What kind of transformations are required?
A specific element in the business process model (PIM) must be transformed to a specific artefact in the implementation model (PSM). To make such a transformation requires data to describe the properties of the element in the business process. Where can these data be described and persisted? Should they be kept in a separate model, or should they be part of the PIM?
When a business analyst defines the business process model, data describing each element in the process must be entered. If an element is enterprise specific, i.e. the analyst uses a DSL, data specific for the element must be present when the model is transformed to the PSM. Some parts of the required data can be defined by the business analyst, while other parts can be retrieved from the organisations IT infrastructure. Only the essential data for describing the element should be defined by the analyst/developer. The rest of the data should be obtained automatically. What are the requirements for a modelling tool to support this kind of flexibility?
The weaving of patterns and enterprise information into the PSM can either be done automatically under the transformation from the business process model to the PSM, or it can be done manually after a PSM shell has been generated. If the transformation is done automatically, it requires metadata for elements in the business process model to be defined. This requires either a business analyst to define the data for the model or an IT developer to enrich the model by defining the data. If the weaving is done after the PIM to PSM transformation, data to be entered for the specific elements can be entered by the IT developer and be related to the PSM. In this scenario meta-data, patterns and organisational information is completely decoupled from the PIM. It should be examined which of the automatic/manually methods are most efficient.
Are the technologies defined by OMG in the MDA initiative sufficient for the requirements for customization of transformations proposed by this project? Are there other directions that fit better?
After transformation the developer can change the generated PSM. How can these changes survive if the transformation is made one more time? Is it possible in all cases, or only for smaller changes in the PSM? Which kind of changes can be made in the PSM without loosing the changes after the next transformation?
What are the requirements for a tool supporting the combination of models and organisational specific patterns, code and information? How can the architecture be to enable the largest degree of flexibility?
Does tool support for the MDE approach give value? This is what everybody says, but it is not validated in the industry. Evaluation of a prototype tool must be done for at real industrial problem. ApproachThe research will take origin in specific real life examples of challenges in business process modelling and implementation in Danske Bank. From the examples, the challenges regarding the gap between the modelled business process and the implementation will be generalised and be used as a basis for the further work to clarify the research questions above. The objective of this project will be approached by using a design research methodology:
Description of experienced real life problems
Describe methodologies and requirements to tools which are expected to solve this problem.
Create a prototype tool implementing the requirements.
Evaluate the prototype tool used at a real life business process. Did the tool solve the problem? Did other problems arise? The requirements and methods to be found will be described in general, but prototypes will be implemented at a specific platform. The Eclipse platform will be used to develop the prototypes. Furthermore an IBM extension to eclipse, the WBI modeller, will be used on top of eclipse as the base for modelling the business process models, if we get the permission from IBM. When transforming models, the PSM will be defined in the BPEL4WS language with IBM’s extensions for the Java language. The methods and ideas which this work will produce will be implemented as a prototype tool based on the eclipse platform using the IBM WBI Modeller extension. This prototype tool will be used to make an empirical test of modelling and implementing a real business process. It will be evaluated how much value the prototype gives compared to manually implementation of the business process. Research CollaborationThere has been made an initial contact to Jana Koehler at the IBM Zurich research laboratory. Jana is the manager of a research team focusing on business process integration and automation. Her main interest is in model transformations and model consistency. The research area is very close to the focus of this work. The intension with this contact is to establish cooperation with benefits for both parts. Properly I will make a visit at the Zurich lab for the duration of some weeks in the first year of the PhD study. A group of 3-4 PhD students at ITU are planning to start a study group in MDE with specific focus on the Business Process Management domain. I have had contact with the MOMENT research group located in Valencia, Spain, which I expect to make some cooperation with. I also plan to make a stay abroad for about two month. The place has not yet been decided. Educational requirementsIt is required that an industrial PhD student receives education for 30 ECTS points. At the writing time relevant courses have not yet been announced. Instead areas of interest are listed, in which courses will be taken.
Knowledge disseminationIt is required that an Industrial PhD student uses 800 hour at knowledge dissemination. The mandatory industrial report counts for 150 hours. The rest 650 hour must be used at teaching, making presentations at the company, conferences presentations, and writing papers. It is not finally decided how the hours should be used. An approximately plan has been made: TeachingLectures regarding modelling and MDA: 50 hours Lectures about service oriented architecture: 50 hours PresentationsPresentations at Danske Bank : 100 hours Presentations at the university and in the community: 100 hours Articles and ConferencesWriting articles, workshop papers and presentations at conferences: 350 hours. The following conferences are of very high interest. It is my intention to publish my research at- and attend some of these.
Time scheduleThe time schedule has been divided into blocks of half year duration. It is very difficult to make a precise study plan three years ahead, because the project can turn in different directions during the progress of work. Also it is impossible to describe the milestones in details. It is not known what kind of conferences will be the most relevant or what workshops will be announced. I have made the milestones and placed them as what I believe is a realistic scenario.
|
|||||||||||||||||||||||||||||||||
| Last Updated ( Thursday, 18 August 2005 ) | |||||||||||||||||||||||||||||||||
| < Prev | Next > |
|---|

Study Plan