Hi Bill,

Interesting work. A few questions:

1) Is ASSL in active use? A quick search suggests it has been fairly quiet in 
recent years.

2) Java as the target language seems distinctly old-fashioned. I quickly found 
a Java to Python converter (https://www.javainuse.com/java2py). Have you 
considered generating Python instead - at least getting the class definitions 
in Python would seem useful.

3) Apart from class definitions, what sort of code can be automatically 
generated?

4) Did you think about automatic YANG <==> ASSL translation?

Regards
   Brian Carpenter

On 22-Mar-23 06:12, William Atwood wrote:
Dear NMRG and ANIMA people,

One of my students, Solmaz Jaberi, has explored the issue of how to map
a set of Intent Examples (written in English) into an intermediate form
that can (eventually) be interpreted by the objects (switches, routers,
hosts) in an Intent-Based Network.

RFC 9315 provides a definition of Intent, but this is too abstract to
serve as a basis for demonstrating that a particular intermediate form
can express all of the characteristics of Intent.  Solmaz has therefore
formulated a list of "Intent Objectives", based on ideas from RFC 9216,
RFC 7575, and other documents.

RFC 9316 provides several Intent Classification criteria.  It also
provides a rich set of Intent Examples.

Solmaz has chosen 11 of these Intent Examples, ensuring that her set of
examples covers all of the mandatory Intent Objectives, and as many of
the Intent Classes as possible.

In choosing a target intermediate form, we found only two specification
languages that permitted the expression of a wide range of Intents:
NEtwork MOdelling (NEMO), and Autonomic System Specification Language
(ASSL).  The documentation for NEMO was too sparse to permit an
evaluation, so we chose to use ASSL, which was designed for the
specification and verification of autonomous systems.

Solmaz has transformed the English expression of the 11 Intent Examples
into ASSL.  She has demonstrated that all of the Intent Examples can be
expressed in ASSL, in a methodical way.  She has shown that ASSL can
meet almost all of the Intent Objectives.

The virtue of ASSL is that the ASSL development environment provides an
excellent validation of the semantic correctness of any specified
autonomic system (or network).

We have found that the principal problem with ASSL is that it cannot
express dynamism; this makes it impossible to model the addition or
removal of network components.  A secondary problem is that the present
implementation of the ASSL compiler produces a single large Java
program, which make it impossible to distribute the generated code over
multiple real devices.

The first problem can be resolved through improvements in the design of
ASSL; the second is simply a matter of altering the compiler so that the
resulting code is generated as distributed modules.  Clearly, a
candidate framework for the distributed modules is the Autonomic Service
Agents defined by the ANIMA RFCs, supplemented by GRASP as the
communication protocol.

A paper describing this work has been submitted to WIN 2023.  If anyone
would like a copy of the submission (or of the full thesis), please send
me an email.

Solmaz was co-supervised by Dr. Joey Paquet.

    Bill Atwood


_______________________________________________
Anima mailing list
Anima@ietf.org
https://www.ietf.org/mailman/listinfo/anima

Reply via email to