Giter Club home page Giter Club logo

finefit's Introduction

finefit's People

Contributors

coderocket avatar

Stargazers

Fausto Carvalho Marques Silva avatar

Watchers

 avatar James Cloos avatar  avatar

Forkers

zfq308

finefit's Issues

add validations to tables

currently we do not validate the content of the tables, this makes it difficult to correct mistakes because they appear as syntax errors at the Alloy file and it is difficult to correlate them with the location of the problem in the table.

show meaningful error messages

Currently when there's a syntax error we show the Alloy parser exception. It is difficult to map this error message back to the tabular spec.

support non equational variable specifications

currently it is only possible to determine the value of a state variable with an equation. However in some cases it is only possible to specify a constraint on the state variable. Borrowing an idea from Parnas we may use the syntax

x |

in the frame to indicate that the cells in the row for the variable x are not expressions but formulas. However it is not clear yet how to refer to the state variable in the formula.

check the model for internal consistency

currently we do not check that the model is internally consistent. That is, we do not check that the operations in the model maintain the invariant and that they are not trivial (their predicates are not 'false').

add a readme file

The readme file should explain how to build and run finefit, and what external dependencies it has.

define constants and operators for true and empty sets

Alloy does not provide 'true' and 'false' constants. But without 'true' it is cumbersome to define a total operation. In addition, it is cumbersome to specify that a relation is empty. Currently we have to do something like:

{ x : X, y : Y | y != y }

it would be better to define something like a function empty[X,Y]

Add a usage message

When not providing the correct number of command line arguments print a usage message.

models that require more than 2^3 integers do not work properly

There are two problems here:

  1. There is no way to specify the scope for integers (specifying them in the scope table fails because FineFit tries to generate a signature for Int)
  2. The current way in which we generate the scope definition does not work with Ints for some reason.

Add output variables

Currently we only support input variables for the tabular notation. We should add support for output variables.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.