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.

Views: 136

Comment

You need to be a member of Codetown to add comments!

Join Codetown

Happy 10th year, JCertif!

Notes

Welcome to Codetown!

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.

When you create a profile for yourself you get a personal page automatically. That's where you can be creative and do your own thing. People who want to get to know you will click on your name or picture and…
Continue

Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.

Looking for Jobs or Staff?

Check out the Codetown Jobs group.

 

Enjoy the site? Support Codetown with your donation.



InfoQ Reading List

Google Launches Colab CLI for Developers, Automation, and AI Agents

Google has announced the Google Colab CLI, a command-line tool that allows developers and AI agents to interact with remote Colab runtimes directly from a local terminal.

By Daniel Dominguez

Slack Eliminates SSH in EMR Pipelines, Migrates 700+ Jobs to Rest-Based Architecture

Slack modernized its data platform by replacing SSH based execution in Amazon EMR pipelines with a REST driven orchestration layer called Quarry. The migration covered 700 plus Airflow operators, improving security, reliability, and observability while eliminating direct SSH access across production clusters and enabling a server side job lifecycle model.

By Leela Kumili

Angular's Official Agent Skills Helps AI Coding Tools Write Modern Angular

Google's Angular team has released a repository called angular/skills, focusing on Agent Skills that enhance AI coding agents' ability to write modern Angular code. The repository includes skills for generating code and scaffolding applications, reinforcing current Angular conventions. It serves as a snapshot, aiming to improve AI suggestions by providing updated context.

By Daniel Curtis

Pinecone Brings AI Agents Directly to Enterprise Data with Microsoft OneLake Integration

Pinecone has announced a new integration between its Nexus knowledge engine and Microsoft OneLake, aiming to fundamentally change how enterprise AI agents access and reason over corporate data.

By Craig Risi

Run Untrusted AI Agent Code Safely with Azure Container Apps Sandboxes

Microsoft has announced the public preview of Azure Container Apps Sandboxes. This new ARM resource type is Microsoft.App/SandboxGroups, runs untrusted code generated by agents in hardware-isolated environments. Each sandbox starts from an OCI disk image in less than a second. It can scale to thousands of instances at once and costs nothing when idle.

By Claudio Masolo

© 2026   Created by Michael Levin.   Powered by

Badges  |  Report an Issue  |  Terms of Service