Alloy 표현 분석 모델 "제2장 책임 관계"

1506 단어 분석 모드Alloy
분석 모드를 Alloy로 표현하려는 시도
2.1 파티
사람이나 조직을 추상화하는 개념을'파티'에 도입하다.
abstract sig パーティ {
    属性_電話番号: 電話番号,
    属性_住所: 住所,
    属性_Eメールアドレス: Eメールアドレス
}
fact {
    属性_電話番号 in パーティ some -> lone 電話番号
    属性_住所 in パーティ some -> lone 住所
    属性_Eメールアドレス in パーティ some -> lone Eメールアドレス
}
sig 人, 組織 extends パーティ {}
sig 電話番号 {}
sig 住所 {}
sig Eメールアドレス {}

pred show {}
run show
실행 결과

2.2 계층 구조
차원 제한은alloy로 직접 설명할 수 있습니다.
abstract sig 組織 {
    親:  lone 組織
}
sig 営業所 extends 組織 {} { 親 in 部門 }
sig 部門 extends 組織 {} { 親 in 地域 }
sig 地域 extends 組織 {} { 親 in 事業部 }
sig 事業部 extends 組織 {} { no 親 }

pred show(a地域: 地域, a事業部: 事業部, a部門: 部門, a営業所: 営業所) {
}
run show for 4
실행 결과

두 조직의 차원
abstract sig 組織 {
    親営業:  lone 組織,
    親製品サービス: lone 組織
}
sig 営業所, 製品サービス extends 組織 {}

fact {
    all a組織: 組織 | no a組織.^(親営業 + 親製品サービス) & a組織
    親製品サービス in 組織 -> lone 製品サービス
    親営業 in 組織 -> lone 営業所
}

pred show {}
run show
실행 결과

좋은 웹페이지 즐겨찾기