victor

victor

Creating Software with Modern Diagramming Techniques: deactivation inside alt branches (page 31-32)

If I interpret this sequence diagram correctly, in case of invalid input, the Error message should end the activation of Sign Up Service. That is, just because a branch is the last one it shouldn’t be the one deactivating the participant, as activation doesn’t fall through branches (well, I think it shouldn’t) since they represent alternate flows of execution. In other words, if the valid input branch went first, it would end up activation of Sign Up Service and the error message would appear to be sent out of activation.

I imagine this is all due to a limitation of Mermaid, as I tried to deactivate SUS in the error message and got an error. I would report this to Mermaid but wanted to double check first, I also imagine someone else has already reported it.

The way I see it, the activation should end on the error message, and start again on the line dividing alt branches, to represent that on this branch, activation remains on since the GET /sign_up message.

Most Liked

victor

victor

Yes, it was totally clear, and I agree that extracting the common messages is preferable to duplicating them, which is done only so that activation remains unbroken across branches.

I don’t think that “resuming” the activation at the start of each branch would be wrong, but it’s apparent that Mermaid’s authors don’t agree with me. I’ll raise that issue directly with them.

Where Next?

Popular Pragmatic Bookshelf topics Top

jimmykiang
This test is broken right out of the box… — FAIL: TestAgent (7.82s) agent_test.go:77: Error Trace: agent_test.go:77 agent_test.go:...
New
raul
Hi Travis! Thank you for the cool book! :slight_smile: I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New
curtosis
Running mix deps.get in the sensor_hub directory fails with the following error: ** (Mix) No SSH public keys found in ~/.ssh. An ssh aut...
New
jskubick
I’m under the impression that when the reader gets to page 136 (“View Data with the Database Inspector”), the code SHOULD be able to buil...
New
brunogirin
When trying to run tox in parallel as explained on page 151, I got the following error: tox: error: argument -p/–parallel: expected one...
New
taguniversalmachine
It seems the second code snippet is missing the code to set the current_user: current_user: Accounts.get_user_by_session_token(session["...
New
jonmac
The allprojects block listed on page 245 produces the following error when syncing gradle: “org.gradle.api.GradleScriptException: A prob...
New
mert
AWDWR 7, page 152, page 153: Hello everyone, I’m a little bit lost on the hotwire part. I didn’t fully understand it. On page 152 @rub...
New
ggerico
I got this error when executing the plot files on macOS Ventura 13.0.1 with Python 3.10.8 and matplotlib 3.6.1: programming_ML/code/03_...
New
New

Other popular topics Top

PragmaticBookshelf
Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essential...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New

Sub Categories: