Institution: | Slovak University of Technology |
Technologies used: | Clojure, JBoss Drools, jBPM |
Inputs: | informal text description of SOA design patterns |
Outputs: | knowledge base with partial-formalized SOA design patterns |
Addressed problem
Service oriented architecture (SOA) is nowadays one of the dominant styles in developing new information systems. However, an effective system development consistent with principles of SOA is sometimes quite difficult. These information systems often have complex models, which can contain mistakes, or are described by informally. One concept, which could - according to our opinion - bring promising results in this context, is the concept of design pattern. It represents a natural requirement of every engineering discipline - to reuse some "good practices" of the given field. Also, in order to minimize mistakes and to create formal models, patterns as components of software development could be used - according to Model driven development (MDD) principles. Design patterns in SOA have been identified by T. Erl. However, they are represented in form which is suitable for humans, but not for computers. In context of machine processing formal representation of patterns would be advantageous.
Description
This method presents our approach to partial formal representation of SOA design patterns using production rules. This partial formal representation is useful in searching for mistakes (antipatterns) in models and will enable creating formal models (with patterns) from informal documents. In order to reach our goal - SOA design patterns partial formalization, we defined transformation process from informal text pattern specification to rule based partial formal pattern representation. Results of this process are production rules and processes of pattern identification, which can be used in expert systems. We defined transformation process in three steps: 1) Pattern specification, 2) Object oriented analyze, and 3) Pattern production rules and identification process. In the phase of object oriented analysis we use UML class diagrams for representing identified domain objects and their relationships. UML diagrams help us to visualize transformed part of pattern specification. We create production rules based on identified objects, object relationships and pattern specification from step 2. Production rules (assigned to corresponding group) describe patterns in one of their state - problem, solution, context, and impacts. Then we define process for pattern candidate/pattern identification. This process is necessary and specifies the moment, when the certain group of rules is executed. Output of this process is represented by identified patterns, pattern candidates and patterns impacts. Pattern candidates serve us in searching places in the solution which interfere with good established practices of designing system. Pattern impacts define which areas in solution and how are these areas affected by application of pattern. In comparison with other approaches, our method enables not only partial formal representation of SOA design patterns but also the definition of processes for detection of patterns/pattern candidate.
References
Šelmeci, Roman - Rozinajová, Viera: SOA Design Patterns - can they improve the process of Model Driven Development? In: SCC 2013 Proceedings of the IEEE 10th International Conference on Services Computing, 27 June-2 July 2013 Santa Clara, California - Los Alamitos : IEEE Computer Society, 2013.