PragmaDev Studio
{{COI|date=May 2020}}
{{Short description|Modeling and testing software tool}}
{{Infobox Software
| name = PragmaDev Studio
| developer = PragmaDev
| latest release version = 5.5
| operating_system = Linux, Windows, macOS, Raspbian
| genre = Software development, Conformance testing
| license = Free and commercial
| website = {{URL|pragmadev.com}}
}}
PragmaDev Studio is a modeling and testing software tool introduced by PragmaDev in 2002 dedicated to the specification of communicating systems.{{Cite news|url=http://files.iccmedia.com/magazines/basaug14/basaug14.pdf|title=Embedded Control Europ 2014 Yellow Pages}} It was initially called Real Time Developer Studio or RTDS. Its primary objective was to support SDL-RT{{Cite web|url=http://www.sdl-rt.org|title=Specification and Description Language - Real Time|website=www.sdl-rt.org|access-date=2018-03-17}} modeling technology. Since V5.0 launched on October 7, 2015 RTDS is called PragmaDev Studio, and it is organized in four independent modules: Specifier, Developer, Tester and Tracer.{{Cite web|url=http://www.pragmadev.com/downloads/Manuals/UserManual.pdf|title=PragmaDev Studio User Manual|date=April 11, 2018}} V5.1 launched on November 29, 2016 introduces a freemium licensing model.{{Cite web|url=http://www.pragmadev.com/prices.html|title=PragmaDev tools features and prices}}{{Cite web|url=http://www.pragmadev.com/downloads/Manuals/InstallationManual.pdf|title=PragmaDev Studio Installation Manual}}
Features
=Specification and Description Language=
The Specification and Description Language (SDL) is a modeling language standardized by ITU-T to describe communicating systems.{{Cite web|url=https://www.itu.int/rec/T-REC-Z.100-201604-I/en|title=ITU-T - Z.100 : Specification and Description Language - Overview of SDL-2010}} SDL is graphical but contains an action language with a semantic of execution making the SDL models executable.{{Cite web|url=http://www.sdl-forum.org/SDL/|title=SDL Forum Society - What is SDL ?}} SDL is considered formal because it is complete and non-ambiguous. SDL-RT is a variant of SDL where the action language is replaced by C or C++ instructions.{{Cite web|url=https://www.itu.int/rec/T-REC-Z.104-201604-I/en|title=ITU-T - Z.104 : Specification and Description Language - Data and action language in SDL-2010}} SDL-RT is considered semi-formal because it mixes SDL with code. ITU-T has standardized a UML profile based on SDL making by extension any SDL tool a sort of UML tool.{{Cite web|url=https://www.itu.int/rec/T-REC-Z.109-201610-I/en|title=ITU-T - Z.109 : Specification and Description Language - Unified modeling language profile for SDL-2010}}
=Simulation=
PragmaDev Specifier embeds an SDL simulator that behaves like a model debugger.{{Cite journal|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|date=2016-01-27|title=Automatic Interleaving for Testing Distributed Systems|url=https://www.researchgate.net/publication/291833633|doi=10.13140/RG.2.1.4223.9764}} It is possible to set breakpoints graphically, to view variables, and pending timers. During execution a live trace is generated based on the Message Sequence Chart ITU-T standard.{{Cite book|title=Complex Systems Design & Management Asia|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|chapter=Towards Model-Driven Simulation of the Internet of Things |date=2016|publisher=Springer, Cham|isbn=9783319296425|series=Advances in Intelligent Systems and Computing|volume=426 |pages=17–29|language=en|doi=10.1007/978-3-319-29643-2_2|s2cid=8817726 }}
=Code generation (compiler)=
PragmaDev Studio can generate C or C++ code out of an SDL model, and PragmaDev Developer can generate C or C++ code out of an SDL-RT model.{{Cite book|last1=Brumbulli|first1=Mihal|last2=Fischer|first2=Joachim|title=System Analysis and Modeling: About Models |chapter=SDL Code Generation for Network Simulators |date=2010-10-04|series=Lecture Notes in Computer Science|volume=6598 |language=en|publisher=Springer, Berlin, Heidelberg|pages=144–155|doi=10.1007/978-3-642-21652-7_9|isbn=9783642216510|s2cid=41634778 }} The generated code can be adapted to any Real Time Operating System or scheduler.{{Cite journal|last1=Fischer|first1=Joachim|last2=Kühnlenz|first2=Frank|last3=Ahrens|first3=Klaus|last4=Eveslage|first4=Ingmar|date=December 2009|title=Model-based Development of Self-organizing Earthquake Early Warning Systems|journal=SNE Simulation Notes Europe|language=en|volume=18|issue=3–4|pages=9–20|doi=10.11128/sne.19.on.09941|s2cid=10164856 |issn=2305-9974}} The tool offers a number of integrations with debuggers such as gdb so that the user feels he is still debugging the model, not the generated code.
=Model checking=
PragmaDev Studio can export the SDL model to different formats such as IF, FIACRE,{{Cite journal|last1=Rangra|first1=Subeer|last2=Gaudin|first2=Emmanuel|date=2014-02-06|title=SDL to Fiacre translation|url=https://www.researchgate.net/publication/271704363|doi=10.13140/2.1.1819.1683}} or XLIA in order to verify the model in third party tools{{Cite book|title=Handbook of research on embedded system design|others=Bagnato, Alessandra, 1974-, Indrusiak, Leandro Soares, 1974-, Quadri, Imran Rafiq, 1981-, Rossi, Matteo,, IGI Global|isbn=9781466661943|location=Hershey, Pennsylvania (701 E. Chocolate Avenue, Hershey, Pa., 17033, USA)|oclc=892759153|last1 = Bagnato|first1 = Alessandra|last2=Indrusiak|first2=Leandro Soares|last3=Quadri|first3=Imran Rafiq|last4=Rossi|first4=Matteo|year=2014}} such as IFx from Verimag, TINA from LAAS, or Diversity from CEA LIST.
=Functional testing=
PragmaDev Tester supports the TTCN-3 international standard for testing.{{Cite web|url=http://files.iccmedia.com/magazines/basjul17/basjul17.pdf|title=Embedded Control Europe - 2017 Yellow Pages}} The tool can either simulate the test cases against the SDL model, or generate code to be compiled and run against a real SUT.{{Cite journal|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|date=2016-01-27|title=Automatic Interleaving for Testing Distributed Systems|url=https://www.researchgate.net/publication/291833633|doi=10.13140/rg.2.1.4223.9764}}
=Model Based Testing=
- PragmaDev Studio can generate TTCN-3 test cases out of Message Sequence Charts resulting from a simulation.{{Cite book|last1=Gaudin|first1=Emmanuel|last2=Brunel|first2=Eric|title=SDL 2013: Model-Driven Dependability Engineering |chapter=Property Verification with MSC |date=2013-06-26|series=Lecture Notes in Computer Science|volume=7916 |language=en|publisher=Springer, Berlin, Heidelberg|pages=19–35|doi=10.1007/978-3-642-38911-5_2|isbn=9783642389108}}
- Test cases can also be generated out of the SDL model through a third party technology such as IFx from Verimag or Diversity from CEA-LIST: Laboratory for Integration of Systems and Technology.{{Cite book|last1=Deltour|first1=Julien|last2=Faivre|first2=Alain|last3=Gaudin|first3=Emmanuel|last4=Lapitre|first4=Arnault|title=System Analysis and Modeling: Models and Reusability |chapter=Model-Based Testing: An Approach with SDL/RTDS and DIVERSITY |date=2014-09-29|series=Lecture Notes in Computer Science|volume=8769 |language=en|publisher=Springer, Cham|pages=198–206|doi=10.1007/978-3-319-11743-0_14|isbn=9783319117423}} For that purpose PragmaDev Studio exports the model to a pivot language that is understood by the third party tool.
= Deployment simulation =
PragmaDev Studio can simulate the deployment of many instances of an SDL model for verifying its behavior in a distributed computing environment. This feature is based on research from Humboldt University of Berlin.{{Cite book|last1=Brumbulli|first1=Mihal|last2=Fischer|first2=Joachim|title=Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC) |chapter=Simulation visualization of distributed communication systems |pages=1–12|language=en-US|doi=10.1109/wsc.2012.6465021|year=2012|isbn=978-1-4673-4782-2|citeseerx=10.1.1.659.8202|s2cid=8744406 }}{{Cite book|last1=Brumbulli|first1=Mihal|last2=Fischer|first2=Joachim|title=System Analysis and Modeling: Theory and Practice |chapter=Simulation Configuration Modeling of Distributed Communication Systems |date=2012-10-01|series=Lecture Notes in Computer Science|volume=7744 |language=en|publisher=Springer, Berlin, Heidelberg|pages=198–211|doi=10.1007/978-3-642-36757-1_12|isbn=9783642367564}}
=Performance analysis=
PragmaDev Studio introduces a Performance Analyzer to find the best architecture for time or energy in a set of scenario.{{Cite book|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|title=System Analysis and Modeling. Technology-Specific Aspects of Models |chapter=Optimizing Performance of SDL Systems |date=2016-10-03|series=Lecture Notes in Computer Science|volume=9959 |language=en|publisher=Springer, Cham|pages=100–115|doi=10.1007/978-3-319-46613-2_7|isbn=9783319466125}}
= CPS simulation =
PragmaDev Studio supports Cyber Physical Systems (CPS) simulation via the Functional Mock-up Interface.{{Cite web|url=http://www.pragmadev.com/product/newFeatures.html|title=PragmaDev Studio new features}}
Application domains
=Telecommunications=
- Alcatel has selected PragmaDev for the development and maintenance of their telephone switches.{{Cite web|url=http://www.news-eco.com/communiques/ile_de_france/informatique/pragmadev_4304.php|title=PragmaDev : Alcatel sélectionne la plateforme de PragmaDev pour le développement de ses systèmes de commutation - News-Eco Informatique|website=www.news-eco.com|access-date=2018-03-21}}
- Sharif University has studied an optimization of the MAC layer for the IEEE 802.11wireless protocol.{{Cite book|last1=Samadi|first1=S.|last2=Golmohammadi|first2=A.|last3=Jannesari|first3=A.|last4=Movahedi|first4=M. R.|last5=Khalaj|first5=B.|last6=Ghaemmaghami|first6=S.|title=2006 International Symposium on Intelligent Signal Processing and Communications |chapter=A Novel Implementation of the IEEE802.11 Medium Access Control |date=December 2006|pages=489–492|doi=10.1109/ISPACS.2006.364704|isbn=978-0-7803-9732-3|s2cid=17337531 }}
- Modeling and simulation of IoT.{{Cite book|last1=Sherratt|first1=Edel|last2=Ober|first2=Ileana|last3=Gaudin|first3=Emmanuel|last4=Casas|first4=Pau Fonseca i|last5=Kristoffersen|first5=Finn|title=SDL 2015: Model-Driven Engineering for Smart Cities |chapter=SDL - the IoT Language |date=2015-10-12|series=Lecture Notes in Computer Science|volume=9369 |language=en|publisher=Springer, Cham|pages=27–41|doi=10.1007/978-3-319-24912-4_3|isbn=9783319249117|s2cid=28115828 |url=http://pure.aber.ac.uk/ws/files/9709672/sherratt_15419.pdf}}{{Cite book|title=Complex Systems Design & Management Asia|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|chapter=Towards Model-Driven Simulation of the Internet of Things |date=2016|publisher=Springer, Cham|isbn=9783319296425|series=Advances in Intelligent Systems and Computing|volume=426 |pages=17–29|language=en|doi=10.1007/978-3-319-29643-2_2|s2cid=8817726 }}
- Testing of network protocols.{{Cite web|url=http://www.sase.com.ar/2011/case/articulos-case/cost-effective-cross-layer-protocol-testing-a-case-study/|title=Cost Effective Cross-layer Protocol Testing: A Case Study {{!}} SASE 2011|website=www.sase.com.ar|language=es-ES|access-date=2018-03-21}}
= Avionic and space =
- Specification and development of the Air traffic control system for Airbus planes.{{Cite journal|last1=Bonnafous|first1=Eric|last2=Boniol|first2=Frédéric|last3=Dhaussy|first3=Philippe|last4=Dumas|first4=Xavier|date=October 2008|title=Experience of an efficient and actual MDE process : design and verification of ATC onboard system|url=https://hal.archives-ouvertes.fr/hal-00517277|journal=Conférences on UML&FORMAL METHODS|location=Kitakyushu-city, Japan}}
- System architecture optimization for a space mission.{{Cite journal|last1=Brumbulli|first1=Mihal|last2=Gaudin|first2=Emmanuel|last3=Cortier|first3=Alexandre|last4=Rossignol|first4=Alain|date=January 2018|title=System Optimization: A Use Case in the Space Domain|url=https://hal.archives-ouvertes.fr/hal-01708355|journal=9th European Congress on Embedded Real Time Software and Systems (ERTS 2018)|location=Toulouse, France}}
- Integration in TASTE, the ESA framework dedicated to the development of real time and embedded systems.{{Cite book|last1=Perrotin|first1=Maxime|last2=Conquet|first2=Eric|last3=Delange|first3=Julien|last4=Schiele|first4=André|last5=Tsiodras|first5=Thanassis|title=SDL 2011: Integrating System and Software Modeling |chapter=TASTE: A Real-Time Software Engineering Tool-Chain Overview, Status, and Future |date=2011-07-05|series=Lecture Notes in Computer Science|volume=7083 |language=en|publisher=Springer, Berlin, Heidelberg|pages=26–37|doi=10.1007/978-3-642-25264-8_4|isbn=9783642252631|s2cid=42454301 }}
= Semi-conductors =
- Hardware architecture optimization of micro-processors.{{Cite book|last1=Gaudin|first1=Emmanuel|last2=Clouard|first2=Alain|title=SDL 2015: Model-Driven Engineering for Smart Cities |chapter=An Experiment to Introduce Interrupts in SDL |date=2015-10-12|series=Lecture Notes in Computer Science|volume=9369 |language=en|publisher=Springer, Cham|pages=81–88|doi=10.1007/978-3-319-24912-4_7|isbn=9783319249117}}
= Security =
- Development of a decentralized earthquake early warning system.{{Cite journal|last1=Fischer|first1=Joachim|last2=Kühnlenz|first2=Frank|last3=Ahrens|first3=Klaus|last4=Eveslage|first4=Ingmar|title=Model-based Development of Self-organizing Earthquake Early Warning Systems|journal=SNE Simulation Notes Europe|language=en|volume=18|issue=3–4|pages=9–20|doi=10.11128/sne.19.on.09941|year=2009|s2cid=10164856 }}{{Cite journal|last1=Fischer|first1=Joachim|last2=Redlich|first2=Jens-Peter|last3=Zschau|first3=Jochen|last4=Milkereit|first4=Claus|last5=Picozzi|first5=Matteo|last6=Fleming|first6=Kevin|last7=Brumbulli|first7=Mihal|last8=Lichtblau|first8=Björn|last9=Eveslage|first9=Ingmar|title=A wireless mesh sensing network for early warning|journal=Journal of Network and Computer Applications|volume=35|issue=2|pages=538–547|doi=10.1016/j.jnca.2011.07.016|year=2012}}
- Design and implementation of an automatic identification system.{{Cite book|last1=Hassine|first1=M. B.|last2=Grati|first2=K.|last3=Ghazel|first3=A.|last4=Kouki|first4=A.|title=2008 2nd Annual IEEE Systems Conference |chapter=Design and Implementation of AIS Link Layer Using SDL-RT |date=April 2008|pages=1–5|doi=10.1109/SYSTEMS.2008.4518998|isbn=978-1-4244-2149-7|s2cid=22683463 }}
- Safety requirements verification applied to European Train Control System.{{Cite book|last1=Ameur-Boulifa|first1=Rabea|last2=Cavalli|first2=Ana|last3=Maag|first3=Stephane|title=Software Technologies |chapter=From Formal Test Objectives to TTCN-3 for Verifying ETCS Complex Software Control Systems |series=Communications in Computer and Information Science |date=July 2019|volume=1250 |publisher=ICSOFT 2019. Communications in Computer and Information Science, Vol 1250. Springer, Cham|pages=156–178|doi=10.1007/978-3-030-52991-8_8|isbn=978-3-030-52990-1|s2cid=220794902 }}
PragmaDev Studio history
Define $dx = 15 # shift text to right side of bar
Define $dy = -3 # shift text to right side of bar
Define $now = 03/21/2018
Define $start = 05/17/2001
ImageSize = width:900 height:80
PlotArea = left:100 right:0 top:20 bottom:20
AlignBars = justify
DateFormat = mm/dd/yyyy
Period = from:$start till:$now
TimeAxis = orientation:horizontal
ScaleMajor = unit:year increment:1 start:2002
PlotData=
bar:Leaders color:blue width:30 mark:(line,white) align:center fontsize:S
from:$start till:$now
from:05/17/2001 till:02/11/2002 fontsize:S text:0.x
from:02/11/2002 till:04/01/2003 fontsize:S text:1.x
from:04/01/2003 till:10/20/2004 fontsize:S text:2.x
from:10/20/2004 till:10/20/2009 fontsize:S text:3.x
from:10/20/2009 till:10/07/2015 fontsize:S text:4.x
from:10/07/2015 till:$now fontsize:S text:5.x
class="wikitable" |
Release year
! Version ! Summary |
---|
2002
| 1.x | SDL-RT support with code generation for VxWorks and debug with Tornado. |
2003
| 2.x | UML support. |
2004
| 3.x | SDL support including simulation. |
2009
| 4.x | TTCN-3 support for testing. |
2015
| 5.x | New look and feel. New organization in modules: Specifier, Developer, Tester, Tracer. |
PragmaDev
References
Further reading
- Doldi, Laurent (2003). [https://onlinelibrary.wiley.com/doi/book/10.1002/0470014156 "Validation of Communications Systems with SDL: The Art of SDL Simulation and Reachability Analysis"]. John Wiley and Sons Inc.
- Haddad, Serge; Kordon, Fabrice; Pautet, Laurent; Petrucci, Laure (2013). [https://onlinelibrary.wiley.com/doi/book/10.1002/9781118601365 "Distributed Systems: Design and Algorithms"]. John Wiley and Sons Inc.
- Brumbulli, Mihal (2015). [https://dx.doi.org/10.18452/17233 "Model-driven development and simulation of distributed communication systems"]. Humboldt University of Berlin.
- Kuhn, T.; Gotzhein, R.; Webel, C. (2006). "Model-Driven Development with SDL – Process, Tools, and Experiences". Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg: 83–97.
External links
- [http://www.pragmadev.com/ PragmaDev Home Page]
{{DEFAULTSORT:RTDS}}