This is the source code for the programs used to develop SODM+T, an extended version of the SODM model-driven methodology for service-oriented systems.
Unless otherwise specified, the code is under the Eclipse Public License 2.0 with secondary GPLv3 license and is copyright (C) 2008-2022 Antonio García Domínguez.
For additional information beyond this document, check the project website.
To use the SODM+T toolset, first download and run the Eclipse Installer.
Switch to Advanced Mode, and pick "Eclipse Modeling Tools" in its 2021-12 version (2022-03 is known not to work at the moment). Click on "Next".
In the "Projects" page:
- Click on the "+" button.
- Select the "Github Projects" option within "Catalog".
- Paste the URL of this link into the "Resource URIs" field.
- Click on OK.
- Tick the "SODM+T Models GIT" option.
- Click on "Next".
In the "Variables" page, you can simply click on "Next".
In the "Confirmation" page, you can also click directly on "Finish".
In the "Progress" page, trust the software sources, and click on "Finish" when done.
After some time, the new installation will start on its own: Eclipse will clone this repository and import a collection of sample models: after some time, you will be able to click on "Finish" and start using SODM+T.
For a full discussion, please check the PhD thesis and viva slides (both mostly in English) from the University of Cádiz's institutional repository.
Please start by opening the ws.profile/model.profile.di
and wsdl.profile/model.profile.di
files, to set up the WS and WSDL Papyrus profiles before opening any other models.
After this, you can study the remaining projects:
es.uca.b2mml.perftest
has an example set of performance models, created for the SchedulerImplService in theexample-isa95
project.examples.adhoc.v2
has an example service process diagram that you can use to test out the algorithm with the lightweight UML-inspired notation, by right-clicking on the background of the diagram and using one of the "Wizards - Infer..." options ("Infer performance annotations" is the EOL-based graph-based incremental time limit inference algorithm and the throughput inference algorithm, "Infer time limits (old algorithm)" is the EOL-based exhaustive time limit inference algorithm, and "Infer time limits (GLPK)" uses theglpsol
solver by generating constraints in an exhaustive manner as well).examples.marte
has an UML activity diagram which can also be used to play with the SODM+T algorithm. To represent the time limits, it uses the MARTE GQAM profile as implemented by Papyrus. In this case, you will have to right-click on the top-level activity in the diagram and select the relevant option in "Wizards". Only the incremental graph algorithm is available for MARTE.examples.weaving.modisco
contains a set of Java models extracted from theexample-orders
program with MoDisco, and a weaving model that relates the Java models to the performance requirements. You can generate ContiPerf performance tests from it by switching to the "Java" perspective, right-clicking on thews-impl.modisco_perfreq
file, and selecting "SODM+T for MoDisco - Generate Performance Tests". You can also see how they related to each other by opening the.modelink
file in itsweaving
subfolder, using Epsilon ModeLink.examples.weaving.wsdl
contains a similar set of models, but rather than Java the models relate to a message catalog extracted from a WSDL file by ServiceAnalyzer, and a correspondingorders.wsdl_perfreq
weaving model (with its own.modelink
file for 3-way browsing).keraben.processes
contains a mix of models extracted from theexample-isa95
project, together with their weaving models.keraben.usecases
contains the SODM Use Case and Extended Use Case diagrams for the above case study, which were created as part of the case study for the PhD.
This project also has a standard update site here, in case you would like to use your existing Eclipse installation:
https://agarciadom.github.io/sodmt/updates/1.0.3/
Please note that this is not a browsable link: you will need to use it from the Eclipse "Help - Install New Software..." menu.
- A. García-Domínguez, I. Medina-Bulo and M. Marcos Bárcena, "Performance Test Case Generation for Java and WSDL-based Web Services from MARTE", International Journal on Advances in Internet Technology, vol. 5, no. 3–4, p. 173–185, December 2012, ISSN 1942-2652. PDF
- A. García-Domínguez, Dimitrios S. Kolovos, Louis M. Rose, Richard F. Paige and I. Medina-Bulo, “EUnit: a Unit Testing Framework for Model Management Tasks”, Proceedings of the ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems, vol. 6981/2011, p. 395–409, October 2011, Wellington, New Zealand. DOI: 10.1007/978-3-642-24485-8_29
- A. García-Domínguez, I. Medina-Bulo and M. Marcos-Bárcena, “Model-Driven Design of Performance Requirements”, Proceedings of the 11th International Conference on Quality Software, p. 76–85, July 2011, Madrid, Spain. DOI: 10.1109/QSIC.2011.16.