An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed MisbhauddinPhD CandidateICS Department, KFUPMmdmisbha@kfupm.edu.sa
1. Introduction2. Unified Modeling Language Use Case Diagram Sequence Diagram3. Related Work4. Translation Methodology5. Comparison6. Conclusion and Future work
AgendaIntroductionUML 1 of 3Related WorkTranslation MethodologyComparisonConclusion & Future work Software engineering is an engineering discipline that is concerned with all aspects of software production. The software process consists of activities that are involved in developing software products. Basic activities are software specification, design, development and validation.
AgendaIntroductionUML 2 of 3Related WorkTranslation MethodologyComparisonConclusion & Future work Requirement Analysis Design Spec Class Diagram SRS Use Case Diagram Sequence Diagram Deployment Diagram Activity Diagram Communication Component Diagram GUI Layout Diagram State Machine Diagram Plan Package Diagram Object Diagram Validation Implementation Test cases Code Acceptance Summary Test scenarios
AgendaIntroductionUML 3 of 3Related WorkTranslation MethodologyComparisonConclusion & Future work Effect of Miscommunication Need: Automated approach to translate an artifact from one domain to another.
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work UML is a graphical language which provides notations and action semantics to describe and design Object Oriented Software Systems. UML 2.0 Models Suite - 13 Different Diagrams Class Diagram Timing Diagram State Machine Diagram Sequence Diagram Use Case Diagram Object Diagram Activity Diagram Component Diagram Composite Structure Diagram Communication Diagram Deployment Diagram Interaction Overview Diagram Package Diagram 6
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparison Use case diagram is a powerful artifact used for the elicitationConclusion & Future work of functional software requirements in the requirements specification phase. Use Case ID UC-05 Use Case Name Withdraw Actors Customer ATM System Main Flow Login 1 INC Login 2 The ATM requests amount from <<include>> customer. Withdraw 3 Customer enters amount. Customer <<extend>> 4 ATM retrieves balance from Display account Balance A1 Amount is greater than Balance Alternate Flow A1 1. Display Error Message
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Sequence diagrams are used to model the dynamic behavior of the software system depicting how objects interact by passing messages constructed in the design phase. Objects Messages Fragments
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work ISSUES UML Sequence •Incomplete Diagram Generator A Semi-Automatic System from Use utilization of Approach to Translating Use Case Description Using Natural available constructs Cases to Sequence Diagrams 4th Language •Enforcing Describing Technology Congress of Electronics, Robotics and Use-Case guidelines while Relationships of OO Languages Translating Automotive Mechanics with Sequence composing Use Cases & Systems to Sequence Diagrams descriptions 2007(a) 1999 Diagrams The Modeling User- •Either work at Specifying Use Case System Interaction IEEE Behavior With Computer in Use Cases with sentence level or Journal Dynamic Views Automated Software Interaction Models construct level but Engineering 2007(b) IEEE not both. Computational Intelligence and 2000 Industrial Journal of Object Application Technology 2008 2003
AgendaIntroductionUML 1 of 7Related WorkTranslation MethodologyComparisonConclusion & Future work The proposed approach can be summarized as follows: Develop a metamodel for use case descriptions and sequence diagrams. Parse use case steps. Identify mapping rules between these meta-models.
AgendaIntroductionUML 2 of 7Related WorkTranslation MethodologyComparisonConclusion & Future work Phase 1: Syntactic Structure Identification Dictionary Use case Parts-of- Translation Description Speech Tagger Process Use case parser Sequence Diagram
AgendaIntroductionUML 3 of 7Related WorkTranslation MethodologyComparisonConclusion & Future work Example Customer inserts card into ATM POS subject verb object1 preposition object2 Tagger Dictionary sender action argument Receiver ATM Inserts(card) Customer
AgendaIntroductionUML 4 of 7Related WorkTranslation MethodologyComparisonConclusion & Future work Phase 2: Construct Based Translation Architecture Translation Sequence Diagram Use Case Metamodel Metamodel conforms Translation Meta model conforms Use Case Description Sequence Diagram uses receives produces Misbhauddin, M. and M. Alshayeb, “Extending the UML Metamodel for Sequence Diagram to Translation Process Enhance Model Traceability”, the Fifth International Conference on Software Engineering Advances, Nice, France, August 22-27, 2010
AgendaIntroductionUML 5 of 7Related WorkTranslation MethodologyComparison StartConclusion & Future work T Anchor F Metamodel Mapping Parse and Algorithm Include Identify (excerpt) components ALT Insert a “ref” ……….. fragment alt opt break ….
AgendaIntroductionUML 6 of 7Related WorkTranslation MethodologyComparison Example Use Case ID UC-05Conclusion & Future work Use Case Withdraw Name Actors Customer ATM account Main Flow 1 INC Login Customer 2 The ATM requests amount from customer. ref Login 3 Customer enters amount in the ATM. 4 ATM retrieves balance from account Request(amount) A1 Amount is greater than Balance Alternate enters(amount) Flow retrieve(balance) A1 1. Display Error Message
AgendaIntroductionUML 7 of 7Related WorkTranslation MethodologyComparisonConclusion & Future work • The tool will allow the user to enter descriptions of all the use cases. •These cases can then be converted into a sequence diagram. • The output is in the form of an XMI file. •This XMI file can be imported in any UML CASE tool
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Case-study: A sample of five student projects with an average of 15 use cases was used. UC SEQ Sentence Composition Research Constructs Constructs Classification Restrictions (5) (20) (%age) 1999 1 3 43.53% 8 Construct Sentence Syntax 2000 3 5 49% 4 2007(a) 1 3 45% 7 2003 4+1 13 N/A N/A 2007(b) 4 13 N/A N/A Based 2008 4 14 N/A N/A Proposed 2010 5 17 74.08% 2 Approach
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Communication gap between the specification domain and the design domain leads to an incorrect and inconsistent system. An automatic approach to translating use case descriptions to sequence diagrams is presented. UML metamodel for use case specification and sequence diagram is used to guide the translation process. This work is supported by KACST Research Grant (No. a-i: 18-20).
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Tagging is done over simple sentences. Compound sentences should also be handled in the future. Increasing the classification rate by enriching the dictionary using AI techniques rather than English Language Dictionaries. Work is going on to convert the XML output representation of the sequence diagram to a graphical form.
I would like to acknowledge the support ofmy dissertation advisor Dr. MohammadAlshayeb.