adopting open source development tools in a commercial production environment – are we locked-in?...

14
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 Anna Persson Henrik Gustavsson Brian Lings Björn Lundell Anders Mattsson Ulf Ärlig

Upload: alyson-mccormick

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 2: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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, ...

Page 3: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 4: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 5: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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)

Page 6: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 7: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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.

Page 8: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

Screen shoot from Model A in Rhapsody

Page 9: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

OSS Modelling toolScreen shoot from Model A in ArgoUML

Page 10: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

Overview of Model Interchange

Rhapsody Open Source tool

XMI

XMI

1 2

3

4

68

7

9

Validate

Validate5

Page 11: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 12: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 13: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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

Page 14: Adopting Open Source Development Tools in a Commercial Production Environment – are we locked-in? Tenth International Workshop on Exploring Modeling Methods

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