GithubHelp home page GithubHelp logo

lschuetze / alf-reference-implementation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from modeldriven/alf-reference-implementation

0.0 1.0 0.0 394.12 MB

Open-source implementation of the Action Language for fUML (Alf) specification.

Shell 0.06% Batchfile 0.06% Java 99.85% D 0.03%

alf-reference-implementation's Introduction

Action Language for UML (Alf)
Open Source Reference Implementation

Copyright © 2011-2015 Data Access Technologies, Inc. (Model Driven Solutions)

Alf is an action language for UML developed in response to the OMG Concrete Syntax for a UML Action Language Request for Proposals. The Alf specification document can be found at http://www.omg.org/spec/ALF. (See also http://solitaire.omg.org/issues/task-force/ALF11 for the list of open issues currently being addressed by the Alf 1.1 Revision Task Force.)

This implementation is based on the Alf 1.0.1 specification. It compiles Alf source text to the executable Foundational UML (fUML) subset of UML. The compilation can target either of two fUML execution engine implementations:

The implementation handles the full Alf syntax at the Extended compliance level, as given in Annex C Consolidated LL Grammar of the Alf Specification.

Static semantic checking is directly based on validating the constraints defined in Part III of the Alf Specification. However, as errors were discovered in these definitions, or inconsistencies with the descriptions in Part II were identified, these were corrected in the implementation. All such issues have either been corrected in the latest version of the specification or have been reported to the Alf Revision Task Force for correction in a future version.

The latest version of the implementation is availabel at http://alf.modeldriven.org.

Licensing

Data Access Technology, Inc. is copyright owner of the source code for this implementation. For licensing terms, see the file LICENSING.txt.

Installation

The latest packaged distribution of the implementation is available in the dist directory.

Within this directory, the file alf.zip unzips into the installation directory for Alf. The installation directory includes Unix (BASH) shell scripts and DOS batch files for running Alf. By default, the Libraries and UML/Libraries subdirectories are expected to be in the same directory as the scripts. If you move them, set the environment variables ALF_LIB and UML_LIB, respectively, to their paths.

The file alf-src.zip unzips into four Eclipse projects that, together, include the full source of the implementation. Eclipse 4.4 or later is required.

  • org.modeldriven.alf - This is the base project, including the Alf parser, static semantic checking and generic mapping to fUML. However, it is not dependent on any specific fUML implementation.

  • org.modeldriven.alf.fuml.impl - This project extends the base project to specialize the mapping to target the fUML Reference Implementation and to allow compiled Alf text to be executed. It does not depend on the fUML Reference Implementation project directly but, rather, uses an exported fuml.jar file.

  • org.modeldriven.alf.eclipse - This project extends the base project to specialize the mapping to target the Eclipse UML2 metamodel implementation (v5.0.1 or later). It depends on Eclipse plugins and must be built in an Eclipse environment.

  • org.modeldriven.alf.eclipse.papyrus - This project extends the org.modeldriven.alf.eclipse project to allow compiled Alf text to be executed using the fUML execution engine from the [Moka framework] (http://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution) for model execution in the Eclipse Papyrus modeling tool (v1.0.0 or later). It depends on Eclipse plugins and must be built in an Eclipse environment.

Further Information

For further information on using the implementation, see the wiki.

alf-reference-implementation's People

Contributors

corycasanave avatar digre avatar scinnamond avatar seidewitz avatar

Watchers

 avatar

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.