From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id kBfjBrscdWL1xwAAbAwnHQ (envelope-from ) for ; Fri, 06 May 2022 15:03:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id CGTTBrscdWKDbAAAauVa8A (envelope-from ) for ; Fri, 06 May 2022 15:03:55 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6BAAC151B3 for ; Fri, 6 May 2022 15:03:54 +0200 (CEST) Received: from localhost ([::1]:34268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nmxcL-0001pt-9J for larch@yhetil.org; Fri, 06 May 2022 09:03:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nmxc1-0001pN-9z; Fri, 06 May 2022 09:03:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44582) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nmxbs-0005o8-Fp; Fri, 06 May 2022 09:03:05 -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=cooFCeAnjd9KwPZ6bKI3aLygqUpC9YZs5m+MXNs6VRo=; b=ou40DAFalHKEy7 i5pEUfUc9Of4jyexg/mo2asltq4esXuxOIJXg7bEP8p+dD7ApEAz94J60vfYPklN3H/5ZZiVDFmJE LlN+2MIEygKDne5uUIt24Mm5mbADnjGjIdrN7THKO79tRG/oE4uH5Hi6qi8rL8AvNqDPXYoMOhFpi cKp5uxxeOTBShavZ9vAmHlKXz5PYj0f4mkAG6+LvYsz50UkraMnFLX9CRwf7I823crTKHfH8+WcQq HTp8chGuUGZ4zS5urxJS9/rU5ymxlCxE5ZOi6XNoEVerjrxXh/KmLWk9lRkKMBn88ToQ0vnrqAXxw 7GGb3n2IfRctX7kEDOnQ==; Received: from 2a02-a462-da03-1-fa3e-1174-c33f-9485.fixed6.kpn.net ([2a02:a462:da03:1:fa3e:1174:c33f:9485]:53578 helo=drakenbij.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 1nmxbq-0004XZ-DU; Fri, 06 May 2022 09:03:04 -0400 From: Jan Nieuwenhuizen To: dezyne-devel@nongnu.org Cc: guile-use@gnu.org Cc: guix-devel@gnu.org Cc: mcrl2-users@listserver.tue.nl Subject: [ANN] Dezyne 2.15.0 released as Free Software Organization: AvatarAcademy.nl X-Url: http://AvatarAcademy.nl Date: Fri, 06 May 2022 15:02:57 +0200 Message-ID: <87wneyn79a.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1651842234; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=cooFCeAnjd9KwPZ6bKI3aLygqUpC9YZs5m+MXNs6VRo=; b=kRzySKvu50WrL5ZjVOVPn/HYg3pysnZnNGNM602ax6prb8ClqmaDPrrjiod9pYBm8ABuQL LtVVDK5XPimF7Q2LqGS1WhV0aL6kB5mWjZ6LMw7w4I1b4HYb6a6ULpFLnbpoXXkyQ8p5HW Y0xnkLucXl5z++llgcZYsEyo0U97Z7PRreBM93oKsCIfZzPCgda5Jluo+2dR0l65ms9zR2 uDfnXGg2AEptVjivuaw2cVoXpndWun+NM/RB4z/n4fdAhCeHegY9jR9cnqh+S95x+1neev VHkfmQPzfU0faMdmrmgdN/nWEXVkZwCVRX+3JTaAZ7ZrYSKgrRLQm5rs+78MzQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1651842234; a=rsa-sha256; cv=none; b=QU9nh8Os3hdEQ7JlywbUdQfBQrLHnWYdNu9twC5TfQzzV4ySlCsfIXMkBsMRB+xbtHw6bW wk/PraWs/dQFKO9OePGxqsNn/peIMAzJGnf77t16txx9xdIs+iXadU8iLBBZhOfAEoydpU 1g2Aj8VrlsG5pY27befjGYl7NsFAb2CnNZpbx6w7WFLqr4989xji5qO5CHnvDcuIQxD+Cf dhF1jJPUJ4b3FUFvw5Un+NHCTCFhiR07rdmDR5Bo5FCYxhSE56Akm9GP3lMvIR+cGO2qhX XcSN56vZEwiWJqJ5MazHpE2wDa3gRnUxHTMn30sVrmt+dUyzqL4E/gIF5gRo+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=ou40DAFa; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -6.00 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=ou40DAFa; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 6BAAC151B3 X-Spam-Score: -6.00 X-Migadu-Scanner: scn0.migadu.com X-TUID: t/Y5s075I9ud We are thrilled to announce Dezyne 2.15: Dezyne is now being released as Free Software (FLOSS). * 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 This release completes full support for blocking: This finally marks the Grand Unification into single threaded execution semantics. The documentation has seen a major rewrite and is available here: . 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? Verification with system scope and automatically exploring possible traces in a system. Introducing a new keyword `defer' for asynchronous behavior and deprecation of `async'. * Future Looking beyond the next releases we will introduce implicit interface constraints. Hierarchical behaviors, module-specifications and data-interfaces. Support for Model Based Testing. Please do not hesitate to forward this announcement to other fora interested in formal methods and verification! 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.15.0.tar.gz https://dezyne.org/download/dezyne/dezyne-2.15.0.tar.gz.sig Here are the SHA1 and SHA256 checksums: 395ff05e4f2c17bcee895fd9436d696fb0aab93d dezyne-2.15.0.tar.gz 982d8f7cca9de23225e2f06b4c8524c0b57acfba81beaaff1a0c045c1e6409ea dezyn= e-2.15.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.15.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 1A858392E331EAFDB8C27FFBF3C1= A0D9C1D65273 and rerun the 'gpg --verify' command. Alternatively, Dezyne can be installed using GNU Guix[5]: guix pull guix install dezyne * NEWS * Changes in 2.15.0 since 2.14.0 ** Language - Blocking is now fully supported, it may be used: + In non-toplevel components, + In a component with multiple provides ports, but see the `Blocking' section in the manual for caveats. + A new `blocking' qualifier for ports must be used if a port can block, or block collateraly. - Using unobservable non-determinism in interfaces is no longer supported. - An action or function call can now also be used in a return expression (#67[5]). Note that recursive functions still cannot be valued. ** Commands - The `dzn explore' command has been removed. ** Verification - The verifier now supports blocking for components with multiple provides ports. - The verifier now detects possible deadlock errors due to a requires action blocking collaterally, which could happen when a component deeper in the system hierarchy uses blocking. - The option `--no-interface-determinism' has been removed for `dzn verify'. ** Simulation - The simulator now supports collateral blocking. - In interactive mode: + The new `,state' command shows the state (#66[6]), + The new `,quit' command exits the session, + The simulator does not exit when supplying empty input. - The simulator now detects possible deadlock errors due to a requires action blocking collaterally, which could happen when a component deeper in the system hierarchy uses blocking. - The simulator now detects livelocks in interfaces at end of trail. - The simulator now detects queue-full errors caused by external at end of trail. - The `dzn simulate' command now supports the `-C,--no-compliance', `--no-interface-livelock' and `-Q,--no-queue-full' options, ** Code - The C++ and C# code generators and runtime now fully support collaterally blocking components. ** Views - Returns are no longer removed from the state-diagram. Using the new `--hide=3Dreturns' (or `--hide=3Dactions') now removes void action returns. ** Documentation - Blocking has been updated and extended. - A new section on foreign components was added. ** Noteworthy bug fixes - Using the construct `provides external' (which has no semantics) no longer confuses the simulator. - A bug has been fixed that would cause the well-welformness check for system bindings to ignore certain missing bindings. - A bug has been fixed when assigning a value to a formal parameter of a function. - A bug has been fixed in the vm that would cause graph or simulate to hang when using a foreign component that has both provides and requires ports (note: don't do that!). - The test framework can be built using gcc-11. - A bug has been fixed in the code generator when assiging to a local variable that shadows a formal parameter or member variable. - A bug has been fixed in the verifier when creating a new local variable or assigning a variable that remains otherwise unused. - The simulation function now supports injection of foreign components. - The trace produced by running dezyne code is now correct when using injected foreign components. - A bug has been fixed that would cause the verifier to overlook non-determinism in a component. - Using external data in binary expressions is now reported as an error (#64[7]). - The parser no longer reports "" expected when an external type definition is missing. - The well-formedness check of the parser no longer hangs when a component has the same name as one of its interfaces. - An interface can now have the same name as its namespace. * 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://gitlab.com/dezyne/dezyne-issues/-/issues/67 [6] https://gitlab.com/dezyne/dezyne-issues/-/issues/66 [7] https://gitlab.com/dezyne/dezyne-issues/-/issues/61 --=20 Jan Nieuwenhuizen | GNU LilyPond https://lilypond.org Freelance IT https://JoyOfSource.com | Avatar=C2=AE https://AvatarAcademy.c= om