Codetown ::: a software developer's community
Class Family Accord - Abstract
An Accord class family is a hierarchy of classes for which another class hierarchy has been designated as corresponding. Class A0 is the top of the class family, class A1 extends A0, class An extends An-1.
The partner of this class family is B0 at the top, Bn extends Bn-1. Class family A and B are have an Accord relationship if, by design intention, An corresponds to Bn. In each level, there is at least one method that overrides or defines a variant with a behavior representative of the progression of requirements.
The intention of this design concept is to maintain this correspondence when, as requirements evolve, the design calls for extending An and Bn into An+1 and Bn+1. The reason for maintaining this relationship would be that A has new or refined behaviors that only make sense with reference to the state or behaviors of B at the same level.
To realize this relationship in the Java programming language, a designer could simply document the intention. However, coding would inevitably require explicit down cast to force references to the intended levels. This white paper suggests a set of Java annotations to make the Accord relationship between class families explicit and generate the necessary dispatch code and casts. The resulting generated code would in effect provide a parametric override capability.
At a minimum an annotation @Accord designates a class as the head or subclass in a class family. Its attribute has an attribute, partner, to identify the other class family. Methods that are intended to follow the progression are annotated as @Covariant. The effect is to make the method be a covariant override. Its parameter referring to a class at the same inheritance level in the partner family is treated a covariant. A prototype precompiler is (to be) provided for research purposes.
Codetown is a social network. It's got blogs, forums, groups, personal pages and more! You might think of Codetown as a funky camper van with lots of compartments for your stuff and a great multimedia system, too! Best of all, Codetown has room for all of your friends.
Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.
Check out the Codetown Jobs group.

On October 19th and 20th, AWS experienced an extended outage triggered by a failure in Amazon DynamoDB that affected most services in its most popular region, Northern Virginia. The cloud provider released an analysis of the incident, sparking discussions in the community about redundancy on AWS, moving out of public cloud, and multi-region approaches.
By Renato Losio
Microsoft has strengthened its Sovereign Cloud offering to meet stringent global data-residency and control regulations, particularly in Europe. New capabilities include a commitment to EU Data Boundary, expanded in-country data processing, and enhanced Sovereign Private Cloud features.
By Steef-Jan Wiggers
Monzo has redesigned its fraud prevention platform to detect scams in real time, handle growing payment volumes, and deploy new controls rapidly. Explore the bank’s modular control architecture, feature computation pipeline, and observability using BigQuery for accurate, low-latency fraud detection.
By Leela Kumili
Anthropic released sandboxing capabilities for Claude Code and launched a web-based version of the tool that runs in isolated cloud environments. The company introduced these features to address security risks that arise when Claude Code writes, tests, and debugs code with broad access to developer codebases and files.
By Vinod Goje
Google has unveiled Project Suncatcher, a research initiative exploring how solar powered satellite constellations equipped with Tensor Processing Units TPUs could one day enable large scale artificial intelligence computation in space.
By Daniel Dominguez
© 2025 Created by Michael Levin.
Powered by
You need to be a member of Codetown to add comments!
Join Codetown