adopting open source development tools in a commercial production environment – are we locked-in?...
TRANSCRIPT
Adopting Open Source Development Tools in a Commercial Production Environment –
are we locked-in?
Tenth International Workshop onExploring Modeling Methods in Systems Analysis and Design
Porto, Portugal :: 13-14 June, 2005
Anna PerssonHenrik Gustavsson
Brian Lings Björn Lundell
Anders MattssonUlf Ärlig
Context for the StudyCombitech Systems AB
• Advanced development services for technical real-time systems
• Company founded in 1992
• No of employees: 230
• Masters degree: 90 %
• Average working experience: 8 years
• Owned by Saab AB
• Business areas: Automotive, Telecom, Space, Defense,Medical equipment, ...
Current practice
• Tool users are often locked in to specific tools or tool vendors since the commercial tools use proprietary formats
• This is a problem since over the lifetime of a project, tools may have disappeared or may have changed so much that an old data file may not be readable
• The use of open source tools is a flexible option for reducing lock-in
The value of open standards
• Open standards have a wide range of different advantages
• From the standpoint of interchange, the support for open standards will simplify interchange since tools only need to support a single open format
Generation of XMI document for a UML model
translates to
conforms to
UML metamodel
UML model XMI documenttranslates to
XMI DTD
conforms to
(from Stevens, 2003)
Open Source UML modelling tools used in the study ...
ArgoUMLhttp://argouml.tigris.org
Fujabahttp://www.fujaba.de
Umbrellohttp://uml.sourceforge.net
XMI version 1.0 1.1 1.2
Storage format
Project-specific Project-specific XMI
UML models All except object Class, state and activity
All except object
Forward eng. to
Java, C++, PHP Java Java, C++, PHP, SQL, ...
Reverse eng. from
Java Java C++
Platform All (Java based) All (Java based) Linux (with KDE)
Active developers
Approx. 25 Approx. 35 Approx. 5
License BSD Open Source
GNU Lesser General Public
GNU General Public
Case Study: Two different models of different complexity levels were
evaluated
• Model A is a larger model which was exported to an XMI file consisting of 175.000 lines of XMI code for an UML class model containing approximately 170 classes.
• Model B is a smaller model which was exported to an XMI file consisting of 35.000 lines of XMI code for an UML class model containing approximately 60 classes.
Screen shoot from Model A in Rhapsody
OSS Modelling toolScreen shoot from Model A in ArgoUML
Overview of Model Interchange
Rhapsody Open Source tool
XMI
XMI
1 2
3
4
68
7
9
Validate
Validate5
Steps of interchange process1. Bring up model in Rhapsody2. Export model3. Validate XMI documents
– Larger model did not validate due to ordering problem, this was repaired manually
4. Import into Open Source Tools– Neither Fujaba nor Umbrello could import models due to version
differences. A third tool is needed to convert between 1.0 and 1.2. ArgoUML had problems even though the XMI versions matched and XMI file was validated against XMI DTD
5. Visual Inspection – Since presentation is not exported, model needs to be shuffled
around to be inspected visually6. Export model from Open Source Tools
− Only ArgoUML could import, so ArgoUML alone is used in this step.7. Validate XMI documents
– The exported file did not validate and required some changes8. Import model into Rhapsody9. Visual Inspection10. Repeat from 1
– An outer package was added for each repeat
Experiences
• The experience of Combitech Systems is that the tool market is dynamic and that tools disappear and change during lifetime of a project
• Using more than one tool has several advantages– Protects investment by allowing model to be
imported into other tools
– Individual tool users are allowed to use different tools for different tasks according to preference
– Customers are increasingly knowledgeable about UML and envision a future where parts of model development are carried out at customer sites
XMI
• Interchange process is not perfect
• Interchange is dependent on a single combination of XMI and UML versions
• Round-trip export and import needs some hand-tuning of models
• One very important find is that interchange is dependent of model complexity: a larger model using mainly the same constructs is more difficult to import correctly
• More work in the area of XMI support is needed in both Open Source tools and commercial tools
Future Work
• Testing more tool combinations– A study involving a larger set of tools has been
performed
• Visualization and cleaning of XMI files– A visualization engine is being worked on which
allows an XMI file to be analysed and edited– This will increase understanding of file structure and
facilitate import through removal of offending elements
• Universal translator– A project is underway to create an engine which
translates between the various XMI and UML versions and individual idiosyncrasies of different tools