2009-12-22 6 views
7

그래픽 방식으로 응용 프로그램 동시성/잠금 체계를 모델링 할 수있는 훌륭한 도구가 있으며 측면의 일부를 시뮬레이션 할 수 있습니까?소프트웨어 동시성을 모델링/시뮬레이션 할 수있는 도구가 있습니까?

나는 페트리 네트가 그 이상을 위해 사용될 수 있다는 것을 알고 있지만, 설계하고 시뮬레이션 할 수있는 좋은 GUI 도구를 모른다.

UML은 이러한 용도로 사용할 수 있습니까?

좋은 링크가 있으면 매우 만족합니다.

답변

3

이라는 링크가 있습니다. UML 활동 다이어그램은 페 트리 넷 (예 : see this paper)으로 표현할 수 있습니다. 불행히도 나는 Petri Nets 또는 Activity Diagram의 시뮬레이션을위한 훌륭한 산업 중심 툴을 알지 못합니다 (그러나 쉽게 찾을 수있는 많은 학술 프로젝트가 있습니다).

시뮬레이션을 통해 모델을 시뮬레이션하고 싶으십니까? 실제로 앉아서 Perti net이 실행되는 모습을보고 싶습니까? 일반적으로이 유형의 분석은 작고 간단한 알고리즘에 적용 할 수 있습니다. 실제 상황에서는 시뮬레이션보다는 알고리즘을 model checking 수행하고 싶을 것입니다. SPIN (Siemens와 같은 많은 회사에서 사용)을 확인하는 것이 좋습니다. 또한 AlloyPrism에 대한 긍정적 인 경험이 있습니다. 그러나 병렬 알고리즘을 검증하는 데 중점을두면 먼저 SPIN을 고려해 보시기 바랍니다.

편집 : 나는 시뮬레이션을위한 몇 가지 도구를 확인하고 나는 내가 이후 오랜 시간이 지났 http://www.winpesim.de/index.html

+0

답장을 보내 주셔서 감사합니다. 실제로는 프레젠테이션 목적으로 만 시뮬레이션을하고 특정 상황에 대해서는 단순화 된 모델에 대해서만 수행하려고합니다. 데이터 설정이 D1이고 매개 변수가 P1 인 경우 3-4 스레드가 동일한 작업을 수행한다고 가정 해 봅시다. –

+0

당신은 오신 것을 환영합니다. 내 대답에 대한 몇 가지 링크를 추가했습니다. –

2

SPIN은 분산 시스템을 검증하는 데 많이 사용되는 도구이지만 커맨드 라인이라고 생각합니다. 하지만 Spin 웹 페이지에는 밀접하게 관련된 GUI 도구 인 GOAL

2

이 당신을 위해 무엇을 찾고있는 의심,하지만 난 내 두 센트에 던질거야 : 내 대학에서

, 동시 소프트웨어 시스템에 대한 우리의 클래스에서, 우리는 Labelled Transition System Analyser (LTSA)라는 도구를 사용합니다. 실제로는 시스템의 동작을 모델링하는 데 사용할 수있는 언어입니다.

"코드"는 상태 다이어그램과 전환 테이블로 변환됩니다.

1

Petri Net Sim을 검사하여 일반/시간 지정/색상 Petrinets을 시뮬레이트 할 수 있으며, 실시간으로 Petri Net 실행을 표시하는 멋진 GUI가 제공됩니다.

0

동시성 도구 인 LTSA를 사용해보십시오. 자바 프로그램. (Transition System Analyzer)를 사용하여 프로그램을 시뮬레이션합니다. 당신은에서 다운로드 할 수 있습니다 :

http://www.doc.ic.ac.uk/ltsa/

하지만, 그것을 사용하는 방법을 알아 보려면 몇 시간이 걸릴 수 있습니다 그것을 사용하는 동안 환자해야합니다.아마도 Java 프로그램을 모델링하는 동안 가장 잘 작동 할 것입니다.

물론 UML 모델을 사용하는 것이 좋습니다.

관련 문제