CoSy¶
-
Start synthesizing
Install
combinatory-synthesizer
withpip
, read an example, and begin synthesizing, all in a few minutes. -
Specify concisely
Use the powerful constraint system of
CoSy
to generate only the most relevant solutions. -
Discover advanced features
Learn how users familiar with combinatory logic synthesis can access
CoSy
's internals to precisely control synthesis. -
Look at examples
Browse a wide selection of examples to kick-start development of your own synthesis projects.
-
Understand best practices
Understand how to model different types of problems to best capitalize on the performance enhancements of
CoSy
. -
Troubleshoot common errors
Find out how to avoid and debug common sources of errors and unexpected behaviour during development.
About¶
CoSy is short for Combinatory Synthesizer. It is an easy to use, comfortable, even cosy, framework that allows synthesizing target artifacts from modular compontents. Due to the domain-agnostic nature of the framework (while implemented in python, arbitrary artifacts can be created), it is by-and-large applicable to any use-case that benefits or inherently makes use of modularization.
Papers¶
There is a large body of work concerning combinatory logic synthesis, utilizing CoSy (formerly known as the CLS-framework). It has been applied to robotics, logistics, CAD assemblies, factory planning, and many other areas. An overview over relevant literature, split into applications of CoSy and the theory behind it, is found in the following.
-
A knowledge-driven framework for synthesizing designs from modular components
Chaumet, Constantin, et al. "A Knowledge-Driven Framework for Synthesizing Designs from Modular Components." Procedia CIRP, vol. 128, 2024, p. 304---309.
-
CLS-CAD: Synthesizing CAD Assemblies in Fusion 360
Chaumet, Constantin, and Jakob Rehof. CLS-CAD: Synthesizing CAD Assemblies in Fusion 360. arXiv, 2023.
-
Automatic Component-Based Synthesis of User-Configured Manufacturing Simulation Models
Mages, Alexander, et al. "Automatic Component-Based Synthesis of User-Configured Manufacturing Simulation Models." 2022 Winter Simulation Conference (WSC), IEEE, 2022, p. 1841---1852.
-
Synthesis of Scheduling Heuristics by Composition and Recombination
Mäckel, Dominik, et al. "Synthesis of Scheduling Heuristics by Composition and Recombination." Optimization and Learning, edited by Bernabé Dorronsoro et al., Springer International Publishing, 2021, p. 283---293.
-
A synthesis-based tool path planning approach for machining operations
Schäfer, Tristan, et al. "A Synthesis-Based Tool Path Planning Approach for Machining Operations." Procedia CIRP, vol. 104, 2021, p. 918---923.
-
Winkels, Jan, et al. "Automatic Composition of Rough Solution Possibilities in the Target Planning of Factory Planning Projects by Means of Combinatory Logic." Leveraging Applications of Formal Methods, Verification and Validation. Industrial Practice: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part IV 8, Springer, 2018, p. 487---503.
-
Bessai, Jan, Andrej Dudenhefner, Boris Düdder, Moritz Martens, and Jakob Rehof. "Combinatory Process Synthesis." Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques, Springer International Publishing, 2016, p. 266---281.
-
Finite Combinatory Logic with Predicates
Dudenhefner, Andrej, Christoph Stahl, et al. Finite Combinatory Logic with Predicates. Schloss Dagstuhl -- Leibniz-Zentrum für Informatik, 2024.
-
Finite Combinatory Logic Extended by a Boolean Query Language for Composition Synthesis
Dudenhefner, Andrej, Felix Laarmann, et al. "Finite Combinatory Logic Extended by a Boolean Query Language for Composition Synthesis." 29th International Conference on Types for Proofs and Programs TYPES 2023---Abstracts, 2023, p. 105.
-
A Type-Theoretic Framework for Software Component Synthesis
Bessai, Jan. A Type-Theoretic Framework for Software Component Synthesis. 2019. TU Dortmund University, PhD thesis.
-
Algorithmic Aspects of Type-Based Program Synthesis
Dudenhefner, Andrej. Algorithmic Aspects of Type-Based Program Synthesis. 2019. TU Dortmund University, PhD thesis.
-
CLS-SMT: Bringing Together Combinatory Logic Synthesis and Satisfiability Modulo Theories
Kallat, Fadil, et al. "CLS-SMT: Bringing Together Combinatory Logic Synthesis and Satisfiability Modulo Theories." Proceedings Sixth Workshop on Proof eXchange for Theorem Proving, PxTP 2019, Natal, Brazil, August 26, 2019, edited by Giselle Reis and Haniel Barbosa, vol. 301, 2019, p. 51---65.
-
User Support for the Combinator Logic Synthesizer Framework
Bessai, Jan, and Anna Vasileva. "User Support for the Combinator Logic Synthesizer Framework." Proceedings 4th Workshop on Formal Integrated Development Environment, f-IDE@FLoC 2018, Oxford, England, 14 July 2018, edited by Paolo Masci et al., vol. 284, 2018, p. 16---25.
-
Combinatory Synthesis of Classes Using Feature Grammars
Bessai, Jan, Boris Düdder, et al. "Combinatory Synthesis of Classes Using Feature Grammars." Formal Aspects of Component Software: 12th International Conference, FACS 2015, Niterói, Brazil, October 14-16, 2015, Revised Selected Papers 12, Springer, 2016, p. 123---140.
-
A Long and Winding Road Towards Modular Synthesis
Heineman, George, Jan Bessai, et al. "A Long and Winding Road Towards Modular Synthesis." Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques: 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, October 10---14, 2016, Proceedings, Part i 7, Springer, 2016, p. 303---317.
-
Mixin Composition Synthesis Based on Intersection Types
Bessai, Jan, Andrej Dudenhefner, Boris Düdder, Tzu-Chun Chen, et al. "Mixin Composition Synthesis Based on Intersection Types." 13th International Conference on Typed Lambda Calculi and Applications (TLCA 2015), edited by Thorsten Altenkirch, vol. 38, Schloss Dagstuhl --- Leibniz-Zentrum für Informatik, 2015, p. 76---91.
-
Towards Migrating Object-Oriented Frameworks to Enable Synthesis of Product Line Members
Heineman, George, Armend Hoxha, et al. "Towards Migrating Object-Oriented Frameworks to Enable Synthesis of Product Line Members." Proceedings of the 19th International Conference on Software Product Line, 2015, p. 56---60.
-
Bessai, Jan, Andrej Dudenhefner, Boris Düdder, Moritz Martens, and Jakob Rehof. "Combinatory Logic Synthesizer." Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change - 6th International Symposium, ISoLA 2014, Imperial, Corfu, Greece, October 8-11, 2014, Proceedings, Part I, edited by Tiziana Margaria and Bernhard Steffen, vol. 8802, Springer, 2014, p. 26---40.
-
Düdder, Boris, Moritz Martens, and Jakob Rehof. "Staged Composition Synthesis." Programming Languages and Systems: 23rd European Symposium on Programming, ESOP 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014, Proceedings 23, Springer, 2014, p. 67---86.
-
Towards Combinatory Logic Synthesis
Rehof, Jakob. "Towards Combinatory Logic Synthesis." 1st International Workshop on Behavioural Types, BEAT, 2013.
-
Düdder, Boris, Moritz Martens, Jakob Rehof, and Paweł Urzyczyn. "Bounded Combinatory Logic." Computer Science Logic (CSL'12) - 26th International Workshop/21st Annual Conference of the EACSL, CSL 2012, September 3-6, 2012, Fontainebleau, France, edited by Patrick Cégielski and Arnaud Durand, vol. 16, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2012, p. 243---258.
-
Finite Combinatory Logic with Intersection Types
Rehof, Jakob, and Paweł Urzyczyn. "Finite Combinatory Logic with Intersection Types." Typed Lambda Calculi and Applications - 10th International Conference, TLCA 2011, Novi Sad, Serbia, June 1-3, 2011. Proceedings, edited by C.-H. Luke Ong, vol. 6690, Springer, 2011, p. 169---183.