icm's Issues
Move to Oxygen
Clean up validation rules
E.g. multiple input edges are allowed for a fork, but the enactment only considers single inputs
Allow the user to choose from process alternatives
- Provide visualization of the KPI simulation results
- Allow storing multiple alternatives within one project
Enhanced cost models
Bart: Possibility to assign cost formulas to activities. These formulas depend on certain predefined inputs (e.g., experience of worker, license cost, i-th iteration in a loop, model size). This will not yet be used so no need to be exhaustive on the possibilities, but make sure you can already define cost.
Istvan: We should also consider the size of the model instance, the number of properties affected, etc.
Add legal header to files
Simulink integration
Required features:
-
start up the tool
-
load models
-
execute simulation
-
flag certain model elements
The delete operation litters the model instance
Even though the references to elements are removed during a delete operation, the referenced entities are still persisted in the model. (E.g. costs in activities.) Review each element in the designer.
- Control flow
Migrate to the newest versions across the stack
We're using Eclipse Neon (latest Eclipse release), but outdated versions of some frameworks. As soon as Oxygen comes out (June 2017), we'll have to upgrade the following:
-
Eclipse
-
Sirius
-
VIATRA
-
Xtext
Support executable actions in the FTG+PM
-
Action definitions should be placed in ActivityTypes (gener. Transformation), and Activities should parameterize them.
-
Generate Java action classes for activities/transformations which do not specify a script.
Provide a dedicated project nature
VirtualLab Motion integration
Required features:
-
start up the tool
-
load models
-
flag certain model elements
Provide a project creation wizard
The wizard should:
-apply the org.eclipse.sirius.nature.modelingproject nature on the project (until a dedicated nature isn't available);
-create a new representation file;
-create a new .process file.
The wizard should probably be derived from the New Modeling Project wizard.
Linking languages and objects with properties
-Derive as much information from intents as possible
-Put the links on a separate layer on the diagram, hidden by default
-Create a matrix representation (editing as well)
Support the definition of process templates
These will be used to generate default processes for certain domains/viewpoints
Develop a full use-case with presentation material
-
Modeling
-
Optimization
-
Enactment
...of the AGV case. All that with integration with
-
Simulink,
-
AMESim,
-
perhaps even VLM.
Support defining formulas for L3 relationships
These should be declarative, a-causal statements, such as a+b=c, and should be evaluated depending on the specific process.
This will most probably require a custom Xtext-editor.
Provide a formula editor
Provide an editor for formulas, with syntactic checks, and preferably with a direct link with the associated attributes of the formula, so that it can be checked whether correct attribute names are used in the formula
Support the notion of "Tools" in the FTG
In accordance with Broman et al's MPM 2012 paper. (Tools implement Formalisms.)
Constraint directions
Support dynamic constraints/relationships/properties/attributes
Some of the constraints/relationships/properties/attributes are produced during the process in certain activities. E.g. a simulation results in the "required capacity" attribute, another results in the "actual capacity" attribute, which will be compared and result in the "autonomy" property.
Depends on #16
Provide an update site
Divide plugins into features: base, modeler, enactment, and put the update site somewhere to the MSDL server.
Add menus for optimization, generation, execution
Support for compound activities
Port all the ideas from our latest tech report
Esp. focus on capabilities wrt this req from Bart:
With the consistency check, take into consideration refinement of attributes and properties between FTG and PM. For example, if a constraints claims that total mass < 150, and mass is defined in the FTG as mass >= 0 (defined as a constraint in the FTG), then 0 <= total mass < 150 is the actual constraint. (Note that this may be implemented as simply checking both constraints separately for total mass). This enables a link to ontologies, and in the future we should link to e.g., Protégé to extract more information.
Automatically set ID of identifiable elements
Automated change propagation along the L3 relationships
Depends on #16
AMESim integration
Support the specification of more elaborate cost models
-
COCOMO-like estimation method based on prop. number, domain, model size, etc
-
Evolution over iterations: support modeling evolution by allowing selecting a distribution (Normal, uniform, Weibull, exponential, etc)
Support for reconnecting edges
Travis-CI builds
Support automated project building and execution of tests via Travis-CI. Consider Maven, Ant and Gradle.
Support for formulas in L3 Relationships and Constraints
Support for bi-directional object flows
IncQuery integration
CodeGen support
Add a property view and a singleton POJO via an external action call to store generation properties. (Such as default package, etc.)
Container representation for activity groups
Support for viewpoints
-
Update metamodel
-
Support of specification in the editor
Visualize and control token play during simulation
Extend the editor so that the tokens are shown during simulation and can be controlled.
Static analysis on a public SonarQube platform
Travis can do this with Maven: https://aroundthecode.org/2016/06/18/travisci-sonarqube-anaysis/
Validation in the editor
Quantitative and qualitative simulations of the process
- Choose between EQN and DEVS for quantifying KPIs
- Implementation
Watch this item: viatra/massif#43
Update readme
Add detailed description, architectural overview, link to publications, etc.
Support detailed modeling of L3 relationships
-
Attach script
-
Refer to an activity within the process model
-
Refer to an activity in another process model
-
Refer to another process model
Symbolic Consistency Check
Istvan: Solving equations and constraints in conjunction. Requires a solver with a support for arithmetic and boolean constraints.
Two strategies: allow-and-detect vs propagation. We only focus on the first one for now and the latter one should be addressed in a different issue.
Bart: Symbolically check for inconsistencies, thus allowing consistency checks before all necessary values are known. Support variables with the following values:
(a) ranges of values (e.g., if we know that battery mass = 50 and platform mass = 20, we already know that total mass >= 70)
(b) enumerations of values (e.g., from a set of possibilities we got from a catalogue)
Revise concrete syntax
Activity costs should appear in activities; icon set should be revised; preferable make every node a container to achieve a uniform style.
This thread should contain all the desired changes.
Maven support
Support attaching scripts to automated activities
Provide scripting support
Mainly for Python, as AMESim and Simulink support that
Distinguish between properties and attributes
Support for relating properties/attributes to models/formalisms
Depends on #16
DSE does not terminate over simple models
Depends on #15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.