Through the above example, we can learn about the basic information of the executable specifications described with ASML. Overall structure, executable specifications and traditional software specifications are not too different. It will be described in the form of software logic, with a special symbol (here the asml) tag, inclusions between text descriptions to make a certain understanding of the model and its implementation . The advantage of executable specifications is on the description of software logic, don't forget the target of ASML to generate "Human-readable, machine executable" models.
Traditional design specifications typically describe the logic of a certain program in the process of text description. Therefore, there is a convention in Team, which is used in design specifications, so that everyone can understand. But this will be difficult to make people outside the Team easily understood. In executable specifications, ASML acts as the role of this pseudo code, even better than the fake code. Since ASML has a well-defined specification of programming languages, it is easy to become the basis for the understanding of the model. Moreover, since ASML is not a TEAM's specialty, it is easily understood by people outside of Team, as long as he masters ASML.
AsmL compared to real tough pseudocode in that, after the specifications obtained AsmL modeling, such as the previously DiningPhilosophers this example, a simulation program can already perform the. You can execute it, check if the design is complete, whether it is consistent with expected. In ASML2.1.5.8, even a Word document, it is also possible to compile through the ASML Word plugin. When you compile it, the text marked with "asml" is considered an ASML code, which is stripped from the document and then compiled into an executable program by the compiler. Similarly, the ASML's Word plug-in can format the specifications of the Word version into XML format so you can add it to the project of Visual Stadio.net.
ASML2.1.5.8 has good interactivity between other .NET languages. Take a look at the previous example, you will notice that the program portfolio of the program portfolio is missing in the previous specification. As you imagine, the front specification cannot be performed. It can be compiled into a DLL to be referenced by other projects. In fact, examples of Diningphilosophers are a WinForm program that references the Table classes defined earlier in this example of the MAIN FORM. Remember [entrypoint] this attribute? Yes, the method that is marked with it is to be called in C #. In Main Form, these methods of Table are called to reflect the execution of the program. Try this example of this example, it is a very interesting applet!
This article is intended to introduce ASML. Since the author has just contacted ASML shortly, the mistakes in the text are inevitable. In case of unknown, I believe that answers can be found on related websites from Microsoft Research Institutes. If you still don't know what ASML is, you can refer to the author's previous article "ASML: Executable Software Specifications"