Reactive Blocks
| Reactive Blocks | |
|---|---|
| Developer | Bitreactive AS |
| Release | 2011 |
| Stable release | 2.7.0
/ 2016-09-16 |
| Operating system | Windows, OS X, Linux |
| Platform | Eclipse / Java |
| Licence | Commercial, Free Community Edition |
| Website | http://www.bitreactive.com/ |
Reactive Blocks[1] is a visual model-driven development environment based on Activity Diagrams supporting formal model analysis, automated code generation, hierarchical modelling, and an extensive library of ready-to-use components for the Java platform.
Concept
The core technology originated from research at the Norwegian University of Science and Technology and the Institute for Telematics.[2] Reactive Blocks is a visual model-driven development environment supporting formal model analysis, automated code generation, hierarchical modelling, and an extensive library of ready-to-use components for the Java platform. By combining re-usable blocks, a developer can create complex applications graphically.
These building blocks are defined by a combination of graphical models and Java code. The graphical model is based on UML activity diagrams and state machines. The existing library can be extended by user-implemented custom blocks which can include the full abilities of the Java platform. Each block has an extended interface description in the form of input and output pins and a contract. The contract indicates which states a block has, and which pins can be interacted with during which state.
Reactive Blocks uses the graphical model together with the information from the contracts to formally analyse the application to discover common problems such as deadlocks or incorrect terminations. If the analysis finds a problem, the according state of the application can be highlighted to identify the cause. The development environment offers a step-by-step animation of the chain of state transitions leading up to the problem.
An application which passed validation can then be automatically converted into Java code. Since a building block´s application is a correct formal definition, the builder can transform its logic into code. The generated code is packaged in a standard Eclipse Java project and can thus be treated as any other code; exporting runnable JARs, debugging, and profiling work the same.
Supported Platforms
- Java (software platform)
- Open Services Gateway initiative[3]
- Eclipse Kura, an interoperability open source project for M2M applications.[4]
- ESF, an inclusive and targeted Java OSGi software framework for M2M multiservice gateways, smart devices and IoT applications.[5]
Literature
- Kraemer, Frank Alexander; Herrmann, Peter (2010). "Reactive Semantics for Distributed UML Activities". Formal Techniques for Distributed Systems: Joint 12th IFIP WG 6.1 International Conference. Amsterdam, the Netherlands: Springer Berlin Heidelberg. pp. 17–31. doi:10.1007/978-3-642-13464-7_3. 10.1007/978-3-642-13464-7_3.
- Kraemer, Frank Alexander (2015-04-09). "Block by Block Towards IoT Applications" (PDF). Bitreactive. Retrieved 2016-09-26.
References
- ^ Homepage
- ^ Kraemer, Frank Alexander (2008). Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks (PhD). Fakultet for informasjonsteknologi, matematikk og elektroteknikk. hdl:11250/261480.
- ^ "Huawei, Bitreactive and Eurotech join OSGi Alliance" (PDF) (Press release). USA: OSGi Alliance. Inventures. 2015-11-03. Retrieved 2016-09-26.
- ^ "Kura - Open Source framework for IoT". Eclipse Foundation. Retrieved 2016-09-25.
- ^ "Everyware™ Software Framework ( ESF )". Eurotech. Retrieved 2016-09-25.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.