archimatetool / archimatetool/archi-scripting-plugin

[Feature Request] Support for Layers & Aspect Taxonomy

Open
#155 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
171
Forks
51
PR merge metrics
No merged PRs in 30d

Description

### Description

The ArchiMate language describes a framework of Layers & Aspects , but there doesn't seem to be any reflection of this in jArchi. It would be useful, for example, to be able to have a selection filter that would just pick out:

- Just the Motivation elements:
`$("motivation")
`

- Behaviour elements (whether Function, Process Collaboration or Service) assigned from a Role:
```
$( thisRole ).outRels( "assignment-relationship" ).each( function( r ) {
if ( r.target.aspect === "behavior" ){ ....
```

If, as planned, layers become domains in v4.0, with behaviour elements consolidated into a new Common domain, the only way to distinguish business behaviour from application or technology behaviour will be by determining the directly connected structural elements.
Rather than test each active structure element individually (Actor, Role, Collaboration), it would be more elegant to be able simply to write:

```
$( thisProcess ).inRels( "assignment-relationship" ).each( function( r ) {
if ( r.source.domain=== "business" ){ ....
```

Contributor guide

No contributing guide indexed for this repository

Research direction

No source file or test is named in the issue. Start by tracing the jArchi scripting API's element and relationship property entry points, then compare them with the ArchiMate layer, aspect, and domain concepts described here. Done means scripts can select motivation elements and distinguish behavior or business-domain relationships through documented properties, with tests covering those examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, javascript
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.