by Michał Antkiewicz, Jan 23, 2017
Eldar Khalilov's Masters thesis about ClaferMPS is now available for download:
ClaferMPS: Modeling and Optimizing Automotive Electric/Electronic Architectures Using Domain-Specific Languages
The implementation is open-source in the following two projects:
Tuesday, January 24, 2017
Monday, September 19, 2016
Clafer Tools 0.4.4 Released
by Michał Antkiewicz, Sep 19, 2016
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.4).
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.4).
- compatibility with GHC 8.0.1,
- added support for nested abstract clafers to Choco generator,
- fixed building with latest Alex and Happy,
- fixed an issue with setting references with a union, #49,
- add the synthetic "root", #57,
- added partial support for `parent` of top-level abstract clafers (the model now compiles but the generators must be fixed), #84.
- compatibility with GHC 8.0.1.
Choco-based instance generator and multi-objective optimizer, release pull request (0.4.4).
ClaferIDE, release diff (0.4.4).
ClaferToolsST, release diff (0.4.4).
- a massive update of 249 commits and 460 files changed!
- ported to the latest Choco version 4.0,
- added support for reference refinement,
- improved support for nested abstract clafers: issues #23, #29, #30, #31.
many performance improvements,- implemented constructive disjunction optimization.
- compatibility with GHC 8.0.1,
- compatibility with clafer-0.4.4 and the latest gitit-0.12.1.1
- fixed FQ matrix (fixed sorting, fixed references)
- fixed Clafer API
- minor fixes
ClaferIDE, release diff (0.4.4).
ClaferToolsST, release diff (0.4.4).
- updated version numbers and links.
ClaferMPS, release pull request (0.4.4).
- added ability to extend the reference model with arbitrary clafers and constraints
- added ability to add constraints to quality attributes
- fixed quality table
Tuesday, August 16, 2016
Synthesis and Exploration of Multi-Level, Multi-Perspective Architectures of Automotive Embedded System
by Michał Antkiewicz, Aug 16, 2016
Jordan Ross' Masters thesis about using Clafer tools for synthesis and exploration of automotive architectures is now available for download:
Synthesis and Exploration of Multi-Level, Multi-Perspective Architectures of Automotive Embedded System
The models created in that work are available in GitHub repository ClaferCaseStudies.
Jordan Ross' Masters thesis about using Clafer tools for synthesis and exploration of automotive architectures is now available for download:
Synthesis and Exploration of Multi-Level, Multi-Perspective Architectures of Automotive Embedded System
The models created in that work are available in GitHub repository ClaferCaseStudies.
Monday, August 1, 2016
Preprint of the ClaferMPS paper is available
by Michał Antkiewicz, Aug 01, 2016
The preprint of the paper
E. Khalilov, J. Ross, M. Antkiewicz, M. Voelter, and K. Czarnecki, "Modeling and Optimizing Automotive Electric/Electronic (E/E) Architectures: Towards Making Clafer Accessible to Practitioners", ISoLA, 2016
is available for download.
The paper describes features offered by the implementation of Clafer in JetBrains' Meta Programming System (MPS) and how it was used for modeling automotive E/E architectures.
The paper reflects ClaferMPS version 0.4.3. We are going to release ClaferMPS 0.4.4 soon, which adds exciting new features.
The preprint of the paper
E. Khalilov, J. Ross, M. Antkiewicz, M. Voelter, and K. Czarnecki, "Modeling and Optimizing Automotive Electric/Electronic (E/E) Architectures: Towards Making Clafer Accessible to Practitioners", ISoLA, 2016
is available for download.
The paper describes features offered by the implementation of Clafer in JetBrains' Meta Programming System (MPS) and how it was used for modeling automotive E/E architectures.
The paper reflects ClaferMPS version 0.4.3. We are going to release ClaferMPS 0.4.4 soon, which adds exciting new features.
Thursday, June 23, 2016
Technical Report: Case Studies on E/E Architectures for Power Window and Central Door Locks Systems
by Michał Antkiewicz, June 23, 2016
Today, we published the final version of the technical report "Case Studies on E/E Architectures for Power Window and Central Door Locks Systems". The report contains:
Today, we published the final version of the technical report "Case Studies on E/E Architectures for Power Window and Central Door Locks Systems". The report contains:
- An informal introduction to Clafer with sample outputs from the instance generator
- Reference Model for E/E System Architecture for early design exploration including layers for feature model, functional analysis architecture, hardware design architecture (including communication and power topologies), and deployment.
- Three case studies with lots of variability and many quality attributes (cost, mass, end-to-end latency):
- Single door power window architecture
- Two door power window architecture based on a generalized single door architecture
- Central door locks architecture with remote key access and passive key entry
- A set of techniques for modeling complex systems in Clafer
The appendices contain
- Appendix A Reference Model (148 lines)
- Appendix B Generalized Single-Door Power Window (216 lines)
- Appendix C Two-Door Power Window (184 lines)
- Appendix D Central Door Locks (801 lines)
For source code repositories and more information see the previous post.
Friday, May 20, 2016
ClaferMPS 0.4.3 Released
by Michał Antkiewicz, May 20, 2016
ClaferMPS is an implementation of Clafer in JetBrains Meta-Programming System (MPS). It also includes an Architecture DSL, which implements an adaptation of EAST-ADL reference model for early architecture modeling described in a technical report.
ClaferMPS implements full Clafer 0.4.3 and provides
ClaferMPS is an implementation of Clafer in JetBrains Meta-Programming System (MPS). It also includes an Architecture DSL, which implements an adaptation of EAST-ADL reference model for early architecture modeling described in a technical report.
ClaferMPS implements full Clafer 0.4.3 and provides
- a smart structured editor with autocompletion and many intentions,
- type system,
- module system,
- generator of plain-text Clafer.
The Architecture DSL
- technical feature model, functional analysis architecture, hardware design architecture, and separate functional to hardware architecture deployment specification,
- editable textual and graphical projections,
- semantic error checking according to the reference model,
- separate definition of quality attributes,
- generation of plain Clafer separate for every module with and without quality attributes.
For installation and usage details, see README.
Friday, May 13, 2016
New automotive case studies in Clafer
by Michał Antkiewicz, May 12, 2016
We published a few new automotive body domain case studies in a GitHub repository 'ClaferCaseStudies'.
Previously, the repository contained the original Power Window case study presented in Alexandr Murashkin's Master's thesis. Now, we added two new case studies by Jordan Ross: extended Power Window and Central Door Locks. More details in the README and the accompanying technical report.
Additionally, we reimplemented the Power Window and Central Door Locks case studies in ClaferMPS. The MPS solutions are contained in MPS/Automotive/BodyDomain. We are in the process of releasing ClaferMPS and a separate announcement will follow.
Previously, the repository contained the original Power Window case study presented in Alexandr Murashkin's Master's thesis. Now, we added two new case studies by Jordan Ross: extended Power Window and Central Door Locks. More details in the README and the accompanying technical report.
Additionally, we reimplemented the Power Window and Central Door Locks case studies in ClaferMPS. The MPS solutions are contained in MPS/Automotive/BodyDomain. We are in the process of releasing ClaferMPS and a separate announcement will follow.
Tuesday, December 22, 2015
Clafer Tools 0.4.3 Released
by Michał Antkiewicz, Dec 22, 2015
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.3).
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.3).
- added language feature with backend compatibility table,
- added support for nested abstract clafers to Choco generator,
- added checks for loops in inheritance hierarchy, issue 77,
- fixed an issue with inheritance from a nested abstract clafer which itself has a superclafer, issue 78,
- added min/max to Alloy generator, issue 79,
- removed the unused and outdated python mode
-m python, - fixed handling paths containing spaces in validation.
- revised help messages, issue 28,
- fix instance output to look like the original model to allow copy/paste from instance to the model for example-driven modeling.
Choco-based instance generator and multi-objective optimizer, release pull request (0.4.3).
ClaferToolsUICommonPlatform.
ClaferMOOVisualizer.
ClaferConfigurator.
ClaferIDE.
ClaferToolsST, release diff (0.4.3).
- ported to the latest Choco3 version 3.3.3,
- added support for nested abstract clafers,
- added API for specifying ordering of clafers by giving priority
branchingPriority([[a,b], [c,d], [e]]);, - improved performance, decreased solving time on a model from 247 minutes down to 9, see user's comment,
- improved pretty printing of instances to harmonize with ClaferIG,
- fixed multiplication/division and overflows handling,
- fixed handling of zeroes in division.
ClaferToolsUICommonPlatform.
ClaferMOOVisualizer.
ClaferConfigurator.
ClaferIDE.
ClaferToolsST, release diff (0.4.3).
- fixed the problem with double quotes in tool path,
- added a workaround for 32bit Java requirement on Windows for AlloyIG.
Friday, November 20, 2015
Backend Compatibility Matrix
by Michał Antkiewicz
We usually first implement new language features in one backend (e.g., Alloy) and add support to the other backend later. The result is that different backends support different language features.
Therefore, we have created Backend Compatibility Matrix, which provides versions in which support for a given feature was added to Alloy-based and Choco-based backend.
We usually first implement new language features in one backend (e.g., Alloy) and add support to the other backend later. The result is that different backends support different language features.
Therefore, we have created Backend Compatibility Matrix, which provides versions in which support for a given feature was added to Alloy-based and Choco-based backend.
Tuesday, November 3, 2015
Clafer Tools 0.4.2.1 Released
by Michał Antkiewicz, updated on Nov 03, 2015
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.2), hotfix (0.4.2.1).
This is a simultaneous release of all Clafer Tools.
Binary builds are available from Clafer Tools - Binary Distributions.
Clafer compiler, release pull request (0.4.2), hotfix (0.4.2.1).
- added CheatSheet and generated syntax documentation clafer.pdf.
- Added minimum and maximum of a set operators
minandmax. - Changed syntax of objectives to
<< minimize ... >>and<< maximize ... >>. The old syntax<< min ... >>and<< max ... >>still works but it is now deprecated. - Changed precedence of if/then/else so that nested expressions do not need to be in parens. See issue #73.
- Implemented ability for top-level abstract clafer to extend a nested abstract clafer #67. See test case.
- Added generation of assertions for Choco.
- Added validation with Choco and GraphVis to
-v. - Use Haskell stack.
- Use Haskell stack.
Choco-based instance generator and multi-objective optimizer, release pull request (0.4.2), release pull request (0.4.2.1).
0.4.2
ClaferToolsST, release diff (0.4.2), release commit 0.4.2.1.
0.4.2
- Integrated and extended the CLI from ClaferChocoIG project. ClaferChocoIG is now discontinued.
- Added setStrategy.
- Ported to the latest Choco3/develop.
- Added minimum/maximum of a set with a default value.
- Added range/domain restriction.
- Added common subexpression elimination.
- Fixed group cardinality inheritance to match ClaferIG and semantics since 0.3.9.
- Use a ternary constraint for if/then/else.
- Improved symmetry breaking.
- Improved inverse relations.
- Improved sum propagator.
- Added assertions.
- Added continuous integration Travis CI.
- Fixed modulo operator.
- Many optimizations
- Improved symmetry breaking
- Restore strategies "smaller" and "larger"
- New command line options: time, noprint, dataFile
- Ported to the latest Choco3/develop
- Use Haskell stack.
- Added excluding variants in the feature and quality matrix, issue #23.
- Added excluding variants in the feature and quality matrix, issue #23.
- Added excluding variants in the feature and quality matrix, issue #23.
ClaferToolsST, release diff (0.4.2), release commit 0.4.2.1.
Subscribe to:
Posts (Atom)