140 likes | 229 Views
Anna Persson Henrik Gustavsson Brian Lings Björn Lundell. Anders Mattsson Ulf Ärlig. Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in?. Tenth International Workshop on Exploring Modeling Methods in Systems Analysis and Design
E N D
Anna Persson Henrik Gustavsson Brian Lings Björn Lundell Anders Mattsson Ulf Ärlig Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods in Systems Analysis and Design Porto, Portugal :: 13-14 June, 2005
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 (from Stevens, 2003)
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.
Steps of interchange process • Bring up model in Rhapsody • Export model • Validate XMI documents • Larger model did not validate due to ordering problem, this was repaired manually • 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 • Visual Inspection • Since presentation is not exported, model needs to be shuffled around to be inspected visually • Export model from Open Source Tools • Only ArgoUML could import, so ArgoUML alone is used in this step. • Validate XMI documents • The exported file did not validate and required some changes • Import model into Rhapsody • Visual Inspection • 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