ArchJava: connecting software architecture to implementation

@article{Aldrich2002ArchJavaCS,
  title={ArchJava: connecting software architecture to implementation},
  author={J. Aldrich and C. Chambers and D. Notkin},
  journal={Proceedings of the 24th International Conference on Software Engineering. ICSE 2002},
  year={2002},
  pages={187-197}
}
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, ensuring that the implementation conforms to architectural constraints… Expand

Figures from this paper

Using Types to Enforce Architectural Structure
  • J. Aldrich
  • Computer Science
  • Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
  • 2008
TLDR
This paper presents the first system to statically enforce complete structural conformance between a rich, dynamic architectural description and object-oriented implementation code and shows that the resulting system can express and enforce important structural constraints of an architecture while still supporting key object- oriented implementation techniques. Expand
JCMP: linking architecture with component building
TLDR
This paper presents an approach to supporting the integration of prebuilt components in the context of the architectural constraints, in terms of a novel design pattern, an architectural description language (ADL) JCMPL and a toolset JCMP. Expand
Dynamic Validation of Software Architectural Connectors
TLDR
An approach to dynamically validate the usage of software connectors in the context of software architectures by employing aspect oriented techniques that is promising enough to consider future extensions including other architectural elements beyond. Expand
Effective Realization of Software Architectural Styles with Aspects
  • S. Malek
  • Computer Science
  • Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
  • 2008
TLDR
This paper proposes a new approach to implementing architectural styles that is based on the aspect-oriented programming paradigm, arguing that the lack of sufficient support for architectural styles is a by-product of its crosscutting structure, making it impossible to realize styles using the object- oriented programming methodology. Expand
Modeling and implementing software architecture with Acme and ArchJava
We demonstrate a tool to incrementally synchronize an Acme architectural model described in the Acme Architectural Description Language (ADL) with an implementation in ArchJava, an extension of theExpand
A Translator of Software Architecture Design from SAM to Java
TLDR
This paper presents a translator for automatically generating an implementation from a software architectural description that not only captures the functionality of the given architecture description, but also contains additional monitoring code for ensuring desirable behavior properties through runtime verification. Expand
Dynamic Configuration of Software Product Lines in ArchJava
TLDR
This paper shows how the use of a state-of-the-art, general-purpose, component-programming language, specifically ArchJava, to implement software product lines can be solved by making the components auto-configurable, which corresponds to replacing components by component generators. Expand
The ArchMapper Approach to Architectural Conformance Checks: An Eclipse-based Tool for Style-oriented Architecture to Code Mappings
TLDR
This work has applied the ArchMapper approach to the style of the Spring MVC framework, where several architectural properties can be checked, and the Spring configuration file for the application may be automatically generated from the architectural description. Expand
Automated Runtime Validation of Software Architecture Design
TLDR
This paper shows that the methodology of automated realization of software architecture designs and validation of the implementation is viable through a case study and validates the realization process by exploring the runtime verification technique and aspect-oriented programming. Expand
A software architecture modeling tool
TLDR
This paper presents the COSA modelling tool which help architects the possibility to verify the structural coherence of a given system and to validate its semantics with CosA approach. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 16 REFERENCES
Industrial software architecture with Gestalt
TLDR
Gestalt is an architecture language for specifying structure, with separate, partial support for protocol specifications, and the Gestalt toolset checks structural consistency between the architecture and the code. Expand
A formal basis for architectural connection
TLDR
The key idea is to define architectural connectors as explicit semantic entities as a collection of protocols that characterize each of the participant roles in an interaction and how these roles interact. Expand
Declaratively codifying software architectures using virtual software classifications
  • K. Mens, Roel Wuyts, T. D'Hondt
  • Computer Science
  • Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275)
  • 1999
TLDR
This work proposes to codify declaratively software architectures using virtual software classifications and relationships among these classifications, and illustrates how software architectures can be expressed elegantly in terms of these virtual classification and how to keep them synchronized with the source code. Expand
An Introduction to Software Architecture
  • D. Garlan, M. Shaw
  • Computer Science
  • Advances in Software Engineering and Knowledge Engineering
  • 1993
TLDR
This paper provides an introduction to the emerging field of software architecture by considering a number of common architectural styles upon which many systems are currently based and showing how different styles can be combined in a single design. Expand
Dynamic structure in software architectures
TLDR
ADL features which permit the description of dynamic software architectures in which the organisation of components and connectors may change during system execution are examined. Expand
Abstractions for Software Architecture and Tools to Support Them
TLDR
The purpose is to support the abstractions used in practice by software designers, and sketches a model for defining architectures and presents an implementation of the basic level of that model. Expand
Foundations for the study of software architecture
The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architecturalExpand
Using object-oriented typing to support architectural design in the C2 style
TLDR
The issues and ramifications of applying OO type theory to the C2 architectural style are identified and the limits of applicability of OO typing to C2 are discussed and how they are addressed in the C1 ADL. Expand
Supporting architectural concerns in component interoperability standards
TLDR
The JavaBeans component model has been enhanced to support component composition according to the C2 architectural style, and a composition environment called `ARABICA' that embodies these techniques are described. Expand
Assuring good style for object-oriented programs
The language-independent Law of Demeter, which encodes the ideas of encapsulation and modularity in an easy-to-follow form for object-oriented programmers, is presented. The law was developed duringExpand
...
1
2
...