From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jan Nieuwenhuizen Newsgroups: gmane.lisp.guile.user Subject: [ANN] Dezyne 2.16.0 released Date: Thu, 18 Aug 2022 17:18:27 +0200 Organization: AvatarAcademy.nl Message-ID: <877d35eg1o.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21169"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cc: guile-user@gnu.org To: dezyne-devel@nongnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Thu Aug 18 17:27:30 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oOhQf-0005Mp-Ow for guile-user@m.gmane-mx.org; Thu, 18 Aug 2022 17:27:29 +0200 Original-Received: from localhost ([::1]:35188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oOhQc-0004Hs-P1 for guile-user@m.gmane-mx.org; Thu, 18 Aug 2022 11:27:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55888) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOhI5-0007qF-Ga; Thu, 18 Aug 2022 11:18:38 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:36342) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOhI1-0008Ng-Gy; Thu, 18 Aug 2022 11:18:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=sctKEXvh5Fq3XbgWnlrS3JImI+amD9Jp3Asfbp2jmEs=; b=cwx/lZONBBZU2P 40eFFpB2Xd2l6cuFQbUSXGAI2HH8WaXr8FXbl4j24cfdOJmrhF+j9gEdApSRb0kBkwUU7rHD8bLBe NNV2neJgSpsv4CBj/tYgVxXDmMez5UuEidc6SdRjxtw03ELm6dDcEy72lqJME7qTBHXD+VxSB1tom 7r88gwAKw5YKidhSVTie/vyshlEeugVZETo7+XUmMg53XRO1YyxjNEaeMERIwik/Il0aEc6vlzPtN 6EyvTDZUcS/0tXNO2Lb8wKOMpVrM/opbUh0a16zigdZqv5haf06mnTj+Wt9zbrEzjMnG9fZ81jkef Xk/HM3SkGF1qCXgrNGVg==; Original-Received: from 2a02-a462-da03-1-2701-7f81-a736-4607.fixed6.kpn.net ([2a02:a462:da03:1:2701:7f81:a736:4607]:51798 helo=drakenpad.janneke.lilypond.org) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOhI1-0001g5-1Q; Thu, 18 Aug 2022 11:18:33 -0400 Original-Cc: mcrl2-users@listserver.tue.nl X-Url: http://AvatarAcademy.nl X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18525 Archived-At: We are happy to announce Dezyne 2.16 which introduces the `defer' keyword: A new language concept for implementing an asynchronous interface. With defer, the basic semantics are complete. * About Dezyne[0] is a programming language and a set of tools to specify, validate, verify, simulate, document, and implement concurrent control software. The Dezyne language has formal semantics expressed in mCRL2[1] developed at the department of Mathematics and Computer Science of the Eindhoven University of Technology (TUE[2]). Dezyne requires that every model is finite, deterministic and free of deadlocks, livelocks, and contract violations. This achieved by means of the language itself as well as by builtin verification through model checking. This allows the construction of complex systems by assembling independently verified components. * Summary Defer replaces dzn.async ports feature that cannot be used in systems collateral blocking. The use of dzn.async ports is now deprecated. Also new in this release: Cleanups to the code generators and model to model transformations. See also the documentation . We will evaluate your reports and track them via the Gitlab dezyne-issues project[3], see our guide to writing helpful bug reports[4]. * What's next? In the next releases we like to see implicit interface constraints, shared interface state and verification with system scope for automatically exploring possible traces in a system. * Future Looking beyond the next releases: Module-specifications and data-interfaces. Hierarchical behaviors. Support for Model Based Testing. Enjoy! The Dezyne developers. * Download git clone git://git.savannah.nongnu.org/dezyne.git Here are the compressed sources and a GPG detached signature[*]: https://dezyne.org/download/dezyne/dezyne-2.16.0.tar.gz https://dezyne.org/download/dezyne/dezyne-2.16.0.tar.gz.sig Here are the SHA1 and SHA256 checksums: 91e8d61cdd9333edbd2768c26c187c35ba7e8a6c dezyne-2.16.0.tar.gz 6d41b2e671afc629610de8f7ed48dd1799bae08b17bd9455a3b9b684f69524f4 dezyne-= 2.16.0.tar.gz [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify dezyne-2.16.0.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0= D9C1D65273 and rerun the 'gpg --verify' command. Alternatively, Dezyne can be installed using GNU Guix[5]: guix pull guix install dezyne * NEWS * Changes in 2.16.0 since 2.15.4 ** Language - A new keyword `defer' has been introduced. - The `dzn.async' ports are now deprecated. - Complex boolean and integer expressions are now supported. ** Build - The tests for the experimental Scheme code generator are now being compiled. - The tests for the experimental Scheme and JavaScript code generators now also execute out-of-the-box in a container. ** Code - The C++, C#, and experimental Scheme code generators support `defer'. - The experimental Scheme code generator now also supports collateral blocking and thus has full blocking support. - The C++ and C# runtime now has a more elegant and efficient implementation for collateral blocking. - The code generators now produce expressions with `&&' and `||' using courtesy parentheses. This avoids compiler warnings. - The code generators no longer produce unnecessarily parenthesized and complex expressions. This also avoids CLANG compiler warnings. - The code generators now preserve the top level comment. ** Commands - The `dzn' command has a new option: `-t,--transform=3DTRANS'. This makes dzn->dzn transformation avaiable from the command line. + New transformations have been added: `add-determinism-temporaries`, `inline-functions', `simplify-guard-expressions', and `split-complex-expressions'. + The `add-explicit-temporaries' transformation now supports complex boolean and integer expressions (#67[6]). ** Noteworthy bug fixes - Some warnings in the C++ runtime have been fixed and side-stepped. - The mCRL2 code generator now generates correct code for an unused assignment from an action or function call as only statement in a branch of an if-statement. - Shadowing of a variable in a branch of an if-statement is no longer rejected. - The simulator now correctly displays a V-fork compliance error in a blocking trace. - The simulator now correctly handles a trace with foreign provides triggers. * Links [0] https://dezyne.org [1] https://mcrl2.org [2] https://tue.nl [3] https://gitlab.com/groups/dezyne/-/issues [4] https://dezyne.org/bugreport [5] https://guix.gnu.org [6] https://gitlab.com/dezyne/dezyne-issues/-/issues/67 --=20 Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org Freelance IT https://JoyOfSource.com | Avatar=C2=AE https://AvatarAcademy.c= om