UML活动图中的异步回调

Chr*_*ris 9 javascript uml asynchronous activity-diagram

我正在尝试使用UML活动图来建模我的应用程序.我正在使用JavaScript和Node.js以及许多异步回调.这是我想出的:

活动图

你怎么看?你明白发生了什么事吗?我正在使用"通用连接器"将回调与操作("运行MyClass.myMethod")和fork-node相关联以显示"并行"执行.我没有在任何地方找到关于活动图中回调的书面文字网络或我的书.

编辑 这将是图表的JavaScript代码:

var MyClass = function () {
    //constructor
};
MyClass.prototype = {
    myMethod : function(cb) {
        //this is an async method
        var result = 5 + 5;
        setTimeout(function () {
            cb(null, result);
        },100); //execute Callback after 100ms
    }
};

//instanciate a MyClass Object
var myClassInstance = new MyClass();

//create a callback function that prints the result
var callbackFunction = function (err,result) {
    console.log(result);
};

myClassInstance.myMethod(callbackFunction);
console.log('I am first');
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 6

显示回调的正确方法如下:⁺

您实例化一个Object,将其传递给目标端口并calculateTime在其上调用指定的操作().控制流程立即继续,当异步操作完成时,结果将转移到结果引脚.可以通过向Action添加更多object-(in)put引脚来指定异步调用的参数.

异步回调活动图

⁺(参见UML规范11-08-06 11.3.10 CallOperationAction/11.3.8 CallAction)