USE Generator

  • Mustafa Al Lail

    Mustafa Al Lail - 2011-05-12


    I am trying to afflictively use the generator, but with little success. I do not know whether I am not using it correctly or there is a bug in the new version of USE (e.g. USE 3.0 RC). Here is a description of the problem.

    An abstract model of the:

    model Model

    class User

    class Role

    model.assl file for the procedures of generation.

    procedure generateUsers(count:Integer)
    var theUsers:Sequence(User);

    procedure generateRoles(count:Integer)
    var theRoles:Sequence(Role);

    Here is the sequence I use to generate:

    resplendent> use model.use

    the tool gives me this out put,

    use version 3.0.0RC2, Copyright (C) 1999-2010 University of Bremen
    java.lang.UnsatisfiedLinkError: /s/bach/h/proj/formaluml/tools/USE/use-3.0.0RC2/lib/ /s/bach/h/proj/formaluml/tools/USE/use-3.0.0RC2/lib/ wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    Apparently, the GNU readline library is not availabe on your system.
    The program will continue using a simple readline implementation.
    You can turn off this warning message by using the switch -nr

    I do not understand what is it but I kept working. I am giving this out put in order for you to track down the fault.

    To generate some users of the model, I gave the following commands.

    use> gen start model.assl generateUsers(3)
    Duration: 97ms
    use> gen result
    Random number generator was initialized with 6685.
    Checked 1 snapshots.
    Result: Valid state found.
    Commands to produce the valid state:
    !new User('User1')
    !new User('User2')
    !new User('User3')
    use> gen result accept
    Generated result (system state) accepted.

    Until now it is OK. But when I tried to generate some instances of the class Role, I got :

    use> gen start model.assl generateRoles(7)

    INTERNAL ERROR: An unexpected exception occured. This happened most probably
    due to an error in the program. The program will try to continue, but may
    not be able to recover from the error. Please send a bug report to
    with a description of your last input and include the following output:
    Program version: 3.0.0RC2
    Stack trace: java.lang.RuntimeException: no node for object `Role4' in current state.
    at org.tzi.use.gui.views.diagrams.objectdiagram.NewObjectDiagram.deleteObject(
    at org.tzi.use.gui.views.diagrams.objectdiagram.NewObjectDiagramView.stateChanged(
    at org.tzi.use.uml.sys.MSystem.fireStateChanged(
    at org.tzi.use.uml.sys.MSystem.evaluate(
    at org.tzi.use.uml.sys.MSystem.evaluate(
    at org.tzi.use.uml.sys.MSystem.evaluateStatement(
    at org.tzi.use.uml.sys.MSystem.evaluateStatement(
    at org.tzi.use.gen.assl.dynamics.GEvalOCLExpression.eval(
    at org.tzi.use.gen.assl.dynamics.GEvalInstrCreateN_C_Integer.eval(
    at org.tzi.use.gen.assl.dynamics.GEvalVariableAssignment.eval(
    at org.tzi.use.gen.assl.dynamics.GEvalInstructionList.proceed(
    at org.tzi.use.gen.assl.dynamics.GEvalInstructionList.eval(
    at org.tzi.use.gen.assl.dynamics.GEvalProcedure.eval(
    at org.tzi.use.gen.tool.GGenerator.startProcedure(

    Any ideas what was wrong that I am doing?

    Thanks a lot


  • Lars Hamann

    Lars Hamann - 2011-05-13

    Hi Mustafa,

    the first message can be ignored. USE can make use of GNUreadline to improve the shell,
    but it is not essential.

    The other error is very interesting. I will have a look at this, but for now it should be possible to suppress the error by closing all object diagrams before running the generator.




Log in to post a comment.