The project website moved here.


Project annotation

In this project we will create base for Modelica development environment which will run in internet browser. Environment will allow visual editing of model and model structure and allow source code editing as well. Modelica compiler is not part of the project, compiler runs on the server and environment will comunicate with them through defined API. Visual debugger is not part of the project as well, it will be created as ongoing project. Development environment will allow to compile model on the server, play the model and simple show results. These are the main parts of the project :
abstract representation of model structure(abstract semantic graph, abstract syntax tree - AST) - core, which contains information about model, provides information for semantic control, syntax highlighting and autocomplete
communication with OMC server(OpenModelica Compiler)
graphic editor - graphic editor of hierarchical model, library of modules, visual programming, cooperation with AST and checking syntax/semantic
text editor - syntax higlighting, online parsing, autocomplete, quickhelp
communication with model repository - without conflict resolving, simple versioning (lock-modify-unlock strategy)

Technologies

Main request is that the application should work in internet browser, so we will try to use Silverlight 2.0. , but if there will be problems with it, we will make application in XBAP - XAML in Browser Application. Next requests are using WPF, concept M-V-VM, using WPF techniques like data binding, evets, commands etc. Part of project are unit tests as well. Look and feel of application is also very important, application should use power of WPF. We can use products of third parties.
  • Might, Milestone 1

Contemporary objective of Might (ModeliceIDE) project is creating Web graphic interface for server part of Open Modelica Compiler, which allows icon and model editation. Range of this version should be approximately same like MathCore Modelica Lite.

Anotace projektu

V rámci projektu bude vytvořen základ pro vývojové prostředí jazyka Modelica - editor. Půjde o návrh a implementaci aplikace běžící v browseru, která umožňuje dvoucestnou tvorbu kódu v jazyce Modelica. Tedy jak vizuální editaci struktury modelu, tak editaci jeho zdrojového kódu. Součástí editoru není překladač Modelica, ten je na serveru, se kterým editor komunikuje pomocí definovaného API. Součástí editoru také není vizuální debugger, který bude vytvořen jako navazující projekt. Výsledná aplikace však umožní nechat na serveru skompilovat a spustit model a jednoduchou formou prezentovat jeho výsledky. Editor se bude skládat z těchto důležitých součástí:
abstraktní reprezentace struktury modelu (abstract semantic graph, abstract syntax tree - AST) - jádro, které nese informace o modelu, poskytuje podklady pro sémantické kontroly, syntax highlighting a autocomplete
komunikace s OMC serverem (OpenModelica Compiler)
grafický editor - grafický editor hierarchického modelu, knihovna modulů, vizuální programování, spolupráce s AST na hlídání syntaktické/sémantické správnosti
textový editor - syntax highlighting, online parsing, autocomplete, quickhelp, …
komunikace s repository modelů - bez řešení konfliktů, jednoduché verzování (lock-modify-unlock strategy)

Techniky a technologie

Zásadním požadavkem je spouštění aplikace v prohlížeči. Výhodou by bylo udržet aplikaci v mezích Silverlight 2.0. Pokud se tento požadavek ukáže jako problematický, bude aplikace realizovaná jako XBAP - XAML in Browser Application. Při implementaci bude kladen požadavek na striktní použití WPF (XAML) při tvorbě GUI, dodržení konceptu M-V-VM a použití technik specifických pro WPF jako jsou data binding, events, commands. Součástí předávky musí být unit testy. Nesmí být podceňována estetická stránka aplikace. Pokud tým sformuluje požadavky na dodání grafiky, laboratoř se postará o jejich dodání. Je dovoleno, dokonce přímo doporučeno, použít jako součást projektu produkty třetích stran (knihovny apod.), pokud to jejich licence umožní.
  • Might, Milestone 1

Soucasnym cilem projektu Might (ModelicaIDE) je vytvorit Webove graficke rozhrani pro serverovou cast Open Modelica Compiler, ktere by umoznovalo editaci Ikon a Modelu. Rozsah teto verze by mel byt podobny, jako priblizne MathCore Modelica Lite.

Last edited Dec 10, 2009 at 9:54 AM by Necroman, version 4