ArchJava

Software architecture describes the structure of a system, enabling more effective design, program understanding, and formal analysis. However, existing approaches decouple implementation code from architecture, allowing inconsistencies, causing confusion, violating architectural properties, and inhibiting software evolution. ArchJava is an extension to Java that seamlessly unifies software architecture with implementation, using a type system to ensure that the implementation conforms to architectural constraints. This site includes a downloadable compiler for ArchJava as well as publications describing the language, a case study, and the theory behind ArchJava.

This software is also peer reviewed by journal TOMS.


References in zbMATH (referenced in 18 articles , 1 standard article )

Showing results 1 to 18 of 18.
Sorted by year (citations)

  1. Bravetti, Mario; Giachino, Elena; Lienhardt, Michael; Wong, Peter Y.H.: Dynamic rebinding for concurrent object groups: theory and practice (2017)
  2. Oliveira, Marcel V.M.; Antonino, P.; Ramos, R.; Sampaio, A.; Mota, A.; Roscoe, A.W.: Rigorous development of component-based systems using component metadata and patterns (2016)
  3. Vazquez, Germán; Andres Diaz Pace, J.; Campo, Marcelo: Reusing design experiences to materialize software architectures into object-oriented designs (2014)
  4. Prähofer, Herbert; Schatz, Roland; Wirth, Christian; Hurnaus, Dominik; Mössenböck, Hanspeter: Monaco -- a domain-specific language solution for reactive process control programming with hierarchical components (2013)
  5. Fabresse, Luc; Bouraqadi, Noury; Dony, Christophe; Huchard, Marianne: A language to bridge the gap between component-based design and implementation (2012)
  6. Aldini, Alessandro; Bernardo, Marco; Corradini, Flavio: A process algebraic approach to software architecture design (2010)
  7. Pham, Hubert; Paluska, Justin Mazzola; Saif, Umar; Stawarz, Chris; Terman, Chris; Ward, Steve: A dynamic platform for run-time adaptation (2009)
  8. Abi-Antoun, Marwan; Aldrich, Jonathan; Nahas, Nagi H.; Schmerl, Bradley R.; Garlan, David: Differencing and merging of architectural views. (2008)
  9. Abi-Antoun, Marwan; Aldrich, Jonathan; Nahas, Nagi; Schmerl, Bradley; Garlan, David: Differencing and merging of architectural views (2008)
  10. Murta, Leonardo G.P.; Der Hoek, André Van; Werner, Cláudia Maria Lima: Continuous and automated evolution of architecture-to-implementation traceability links. (2008)
  11. Murta, Leonardo G.P.; van der Hoek, André; Werner, Cláudia M.L.: Continuous and automated evolution of architecture-to-implementation traceability links (2008)
  12. Bailly, Arnaud; Clerbout, Mireille; Simplot-Ryl, Isabelle: Component composition preserving behavioral contracts based on communication traces (2006)
  13. Papadopoulos, George A.; Stavrou, Aristos; Papapetrou, Odysseas: An implementation framework for software architectures based on the coordination paradigm (2006)
  14. Zdun, Uwe: Tailorable language for behavioral composition and configuration of software components (2006)
  15. Koschke, Rainer: Rekonstruktion von Software-architekturen: Ein Literatur- und Methoden-überblick zum Stand der Wissenschaft (2005)
  16. Schmitt, Alan; Stefani, Jean-Bernard: The Kell calculus: A family of higher-order distributed process calculi (2005)
  17. Lieberherr, Karl; Lorenz, David H.; Ovlinger, Johan: Aspectual collaborations: Combining modules and aspects (2003)
  18. Aldrich, Jonathan; Chambers, Craig; Notkin, David: Architectural reasoning in ArchJava (2002)