Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf...
-
Upload
victoria-norris -
Category
Documents
-
view
216 -
download
0
Transcript of Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf...
![Page 1: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/1.jpg)
Design and Implementation of a
Rationale-Based Analysis Tool
(RAT)Diploma thesis from Timo Wolf
Design and Realizationof a Tool for Linking
Source Codeand Rationale Knowledge
Diploma thesis from Marc Mährländer
![Page 2: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/2.jpg)
Content
• Introduction– What is Rationale?– Problem– Solution– Scope of the works
• Rationale Support• RAT• SourceQuest (JBuilder plug-in)• Demonstration
![Page 3: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/3.jpg)
What is Rationale?
• The why behind a decision– Discussion that leads to a solution– Alternative solutions– The criteria the alternatives have been
evaluated against.– Trade-offs made by the stakeholders
• Rationale contains useful information• Historically, often called Design
Rationale
![Page 4: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/4.jpg)
Problem Statement
• During all phases of development, many issues have to be solved– Normally, only the selected solution is visible in the
work products– Useful rationale information get lost
• Discussion process is not structured– Face-to-face meetings, e-mail, bboards, ...– Not integrated into today‘s development tools
• Natural documentation problem– Designing and implementing is the interesting part,
documentation is without a great personal benefit
![Page 5: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/5.jpg)
Solution
• Full integration of rationale into the complete development process– All development tools need integrated
support for rationale– Creation of a direct effort for the
developers, because of a structured and integrated discussion process
– Developers coming after, profit from the rationale information
Focusing on issues, and making the discussion process transparent and explicit, improves the quality of the decisions made by the developers.
Focusing on issues, and making the discussion process transparent and explicit, improves the quality of the decisions made by the developers.
![Page 6: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/6.jpg)
Issue-based Life Cycle Model
• Complete life cycle model for software development based on issues– Rationale is not only integrated into the
development process– Rationale becomes the structuring
element of a software project
• Each project starts with a set of issues– Issues can be mapped to certain phases of
the process– The status of issues can then be used to
track and control the status of each activity
![Page 7: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/7.jpg)
Scope of the Works
RequirementElicitation/Analysis
SystemDesign
ObjectDesign
Implementation RationaleManagement
...
...
Developm
ent support services
RATJBuilder/SourceQuest
RationaleManager
AwarenessSupport
NotificationService
...
Development tools
Development activities
RationaleSupport
![Page 8: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/8.jpg)
Scope of Marc‘s Work
• Integrating rationale support into a source code editor (called SourceQuest)
• Providing a component to store references between different kinds of objects (LinkingService)– Links rationale information to model objects.
• Providing a Rationale Manager software
![Page 9: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/9.jpg)
Rationale Support
![Page 10: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/10.jpg)
Content
• Introduction• Rationale Support
– Requirements for Rationale support– Rationale Model– Actors– Rationale Manager
• RAT• SourceQuest (JBuilder plug-in)• Demonstration
![Page 11: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/11.jpg)
Requirements for Rationale Support
• Create and navigate references between model objects and rationale information– A model object may have different
representations
![Page 12: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/12.jpg)
Model Objects
Model ObjectModel Object
ClassClass PackagePackage Use CaseUse Case ......
ConcreteRepresentation
ConcreteRepresentation
JavaSource File
JavaSource File
UMLClass
UMLClass
0..*
![Page 13: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/13.jpg)
Requirements for Rationale Support
• Create and navigate references between model objects and rationale information– A model object may have different
representations
• Restructuring of captured rationale information– Remove elements– Combining and dividing issues– Create missing references
• Querying the rationale information
![Page 14: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/14.jpg)
Rationale Model
IssueIssue
OptionOption
0..*
CriterionCriterion
CommentComment
responds-to
is relevant
assessment
![Page 15: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/15.jpg)
Actors
• Developer– Creates rationale information related to
model objects– Uses rationale information– Rationale integration supports his main
tasks
• Rationale Maintainer– Restructures rationale information– Identifies missing rationale
![Page 16: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/16.jpg)
Rationale Manager
• Supports the user tasks of the Rationale Maintainer– Displaying issues– Restructuring issues– Querying and searching rationale
information
• Provides a UI to access rationale information, which can be integrated into development tools.
![Page 17: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/17.jpg)
Rationale Manager
![Page 18: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/18.jpg)
Rationale Manager
![Page 19: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/19.jpg)
Design and Implementation of a Rationale-Based Analysis
Tool(RAT)
Diploma thesis from Timo Wolf
![Page 20: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/20.jpg)
Content
• Introduction• Rationale Support• RAT
– Analysis activities– Goals– Constraints– Components RAT has to deal with– Architecture– Evaluation– Future Directions
• SourceQuest (JBuilder plug-in)• Demonstration
![Page 21: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/21.jpg)
Analysis activities
Defineuse case
Defineparticipating
objects
Reviewmodel
Defineinteractions
Defineobjectstypes
Defineattributes
Defineassociations
Consolidatemodel
![Page 22: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/22.jpg)
Goals
• RAT supports developers during analysis activities
• Enables developers to define use cases, sequence diagrams and classes
• No assumption about any specific order– e.g., instances may be created before classes
• Sequence diagrams must be easy to draw– e.g., not like Together or Rose, where it takes a lot of
effort to redraw and layout
• RAT supports rationale management• RAT supports multiple concurrent users
![Page 23: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/23.jpg)
Constraints
• Software Engineering Prakitkum• Must integrate with other tools in the
practical course– REQuest– SourceQuest– Rationale-Manager– All tools must share the same issue repository– All tools must provide a consistent interface
• Must be portable across OS– (Mac OS X, Windows, Linux)
![Page 24: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/24.jpg)
Components RAT has to deal with• Use Cases
![Page 25: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/25.jpg)
RAT‘s Use Cases
– Use cases– Actors– Services– Flow steps (actor step, system
step)
UML use case diagram
![Page 26: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/26.jpg)
Components RAT has to deal with• Classes
![Page 27: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/27.jpg)
RAT‘s Class Model
Tree view
UML Class Diagram
Detailed element interaction window
![Page 28: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/28.jpg)
Components RAT has to deal with• Sequence Diagrams
![Page 29: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/29.jpg)
RAT‘s Sequence DiagramsUML sequence diagram
![Page 30: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/30.jpg)
RAT‘s Sequence Diagrams
Sharing objects and messages among multiple diagrams
![Page 31: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/31.jpg)
Components RAT has to deal with• Rationale Management
![Page 32: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/32.jpg)
Rationale in RAT
•Defining issues to all elements of RAT•Issue highlighting in RAT•Navigation from elements to issues
Visualisation of issues by using the Rationale-Manager of SourceQuest
![Page 33: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/33.jpg)
Relations among RAT‘s models
Class Object
OperationMessage
Actor
Service
FlowStepSDModelUseCase
0..1 0..1
0..*0..1
0..1 0..*
0..1 0..1
0..*0..1
0..1 0..1
0..1
0..*
1
0..*
0..*
2
![Page 34: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/34.jpg)
Architecture
• Central repository architecture (server)• Repository is used for models and
issues• Concurrent distributed client
applications• Separation of the linking repository• Implementation in Java
– Platform independence
• Event-driven control flow (using Java Remote Method Invocation, RMI)
![Page 35: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/35.jpg)
Hardware/Software Mapping
:Webserver
REQuest
:central repository
ElementStore
LinkingService
:SourceQuest user computer
SourceQuest
:RAT user computer
Rationale Manager
RAT Application
![Page 36: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/36.jpg)
Evaluation
• How much of it works ? – All basic functionality works
• What needs to be improved ?– Performance for low bandwidth connections– Some sequence diagram functionalities,
e.g., hiding messages.
• What is missing ?– User management system
![Page 37: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/37.jpg)
Future Directions
• Evaluation of RAT in the practical course• Full REQuest integration• Integration with the Chair's User
Management• Automatic diagram layout functionality• Integrating RAT with rationale-based
system and object design tools (to be developed)
![Page 38: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/38.jpg)
SourceQuestJBuilder Rationale Plug-In
![Page 39: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/39.jpg)
Content
• Introduction• Rationale Support• RAT• SourceQuest (JBuilder plug-in)
– Requirements– User Interface– Evaluation
• Demonstration
![Page 40: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/40.jpg)
Requirements
• Users must become aware of existing issues related to the class they are working on
• Users must be able to create new issues related to the current class
• Users must be able to browse issues related to their current class
• As easy to use as possible• Smooth integration of rationale support
into JBuilder
![Page 41: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/41.jpg)
User Interface I
![Page 42: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/42.jpg)
User Interface II
![Page 43: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/43.jpg)
User Interface III
![Page 44: Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.](https://reader035.fdocuments.net/reader035/viewer/2022062518/5697bf701a28abf838c7d84c/html5/thumbnails/44.jpg)
Evaluation
• Must be evaluated in real projects• First project
– usability?, developers acceptance?, understandability of the rationale model?, what kind of training is necessary?, can all rationale information be expressed?, is decision quality increased
• Second project– Evaluate the value of rationale information– is rationale information used?, can it be
found?, is time for working in decreased?, is quality increased?