Dear Bruce,
additionally to my question in ESW, I'm interesting about performance analysis at software level. In your book Real Time UML I read about the RT UML Profile in combination with different views (structural, deployment, scenario). Is there any update to the profile and how is your current suggestion about this topic?
Thank you.
Best regards,
Matthias
Dear Bruce,
thank you. You sayed, that in SPT/MARTE profile I use stereotypes and specify the metadata in the correspondig tags at the model elements itself.
I often see an other variant very often: Using constraints and anchors to specify metadata. What are the advantages and disadvantages?
Best regards
Matthias
The SPT (Schedulability, Performance and Time) Profile is a UML 1.x profile; it still works fine and is provided with the Rhapsody tool. It is largely replaced by the MARTE profile for UML 2.x (which also ships with the Rhapsody tool). The Real-Time UML book (3rd edition) has a chapter on how to use the SPT profile for schedulability analysis. One of the criticisms of the SPT profile was its complexity, so it is perhaps unfortunate that the MARTE profile is significantly more complex. There is a book on the MARTE profile written by Bran Selic and Sebastian Gerard (https://www.amazon.com/Modeling-Analysis-Real-Time-Embedded-Systems/dp/0124166199/ref=sr_1_5?s=books&ie=UTF8&qid=1524251016&sr=1-5&keywords=time+UML) which might help as the standard itself is pretty opaque.
Both these profiles work in essentially the same way (MARTE has a broader scope, however, and includes things not related to performance, timeliness, and schedulability). In either case, you identify model elements (such as classes, functions, or data) relevant to your analysis, apply the appropriate stereotype, and then fill in the relevant performance-related metadata in the tags provided by the stereotype.
The profile just supports the representation of the timing and performance data, not its analysis. You still have to do that math. To that end, TriPacific corporation has the RapidRMA tool (https://www.tripac.com/) that uses the profile to gather the data from UML models for analysis. Inchron also has a suite of tools for time-based analysis and simulation (https://www.inchron.com/tool-suite/tool-suite.html) although I don't believe they currently support the SPT or MARTE profiles. I did have some discussions with them and they seemed interested in adding it, but had not yet done so.
You can also do the math yourself, such as in a spreadsheet. The best book on the set of mathematical techniques of which I am aware is A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems (https://www.amazon.com/Practitioners-Handbook-Real-Time-Analysis-Electronic/dp/0792393619/ref=sr_1_5?s=books&ie=UTF8&qid=1524251714&sr=1-5&keywords=Real-time+analysis) . In simple cases, the math is easy but it can get quite complex.
Having said all that, I strongly believe that this is an under-utilized set of technologies and far too many people do a little testing and call it "good" only to have obscure - and entirely predictable - failures in the field.