MoTMoT stands for Model driven, Template based, Model Transformer. It is a compiler (code generator) from visual model transformations to repository manipulation code. The compiler takes models conforming to a UML profile for Story Driven Modeling (SDM) as input and outputs JMI code.
Since the
... [More] MoTMoT code generator is built using AndroMDA, adding support for other repository platforms (like EMF) consists of adding a new set of code templates (written in the template language of Velocity, Freemarker, ...).
Transformations are stored as standard UML 1.4 (profile) models in the NetBeans MetaData Repository (MDR) to leverage its strong XMI import/export facilities. [Less]
In the tradition of Hilbert's program we create a formal correct (checkable by a proof verifier) but readable (like an ordinary LaTeX textbook) mathematical knowledge base which is freely accessible within the internet. Logic and set theory started.
FCAlib is an open-source, extensible library for Formal Concept Analysis (FCA) tool developers that implements the FCAAPI. It provides basic functionalities that are needed for building an FCA tool. It supports incomplete contexts and includes efficient implementations of basic FCA algorithms like
... [More] implicational closure, next-closed set, etc. It implements the attribute exploration algorithm in such a way that it can be used together with a custom implemented expert that supports FCAAPI. Javadoc for FCAlib can be found here.
FCAlib is extended by OntoComPlib for using attribute exploration together with OWL ontologies.
The following code segment shows how to create a formal context, add attributes to it, create an expert for this context, and start attribute exploration:
// Create a formal context whose attributes are of type String, and whose objects have
// identifiers of type String
FormalContext context = new FormalContext();
// Create an expert for this context
MyExpertClass expert = new MyExpertClass(context);
// Add attributes to this context
context.addAttribute("a");
context.addAttribute("b");
context.addAttribute("c");
// Set expert for this context
context.setExpert(expert);
// Context listens to the actions of the expert
expert.addExpertActionListener(context);
// Create an expert action for starting attribute exploration
StartExplorationAction> action =
new StartExplorationAction>();
action.setContext(context);
// Fire the action, exploration starts...
expert.fireExpertAction(action);The following code segment shows how to create a set of implications for the above context, add implications to it, and compute next-closure:
// Create a set of implications for the above context. Attributes are of type String
ImplicationSet = new ImplicationSet(context);
// Create a new implication with empty premise and conclusion
Implication imp = new Implication();
// Add attribute "a" to the premise
imp.getPremise().add("a");
// Add attribute "b" to the conclusion
imp.getConclusion().add("b");
// Add this implication to the implication set
implications.add(imp);
// Compute the next-closed set after mySet, and update mySet
mySet = implications.nextClosure(mySet);For more examples please see the test package in the source. [Less]
FCAAPI is an API for Formal Concept Analysis (FCA) tool developpers. It is an initiative to set standards for FCA tools for better interoperability. FCAAPI is implemented by the open-source library FCAlib. Javadoc for FCAAPI can be accessed here.
This site uses cookies to give you the best possible experience.
By using the site, you consent to our use of cookies.
For more information, please see our
Privacy Policy