`
RednaxelaFX
  • 浏览: 3018314 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

[链接] 一篇把DSL用于建模的文章

阅读更多
Markus Völter这篇关于使用DSL来描述系统架构的文章非常有趣。
Architecture as Language: A story

使用一种形式化语言来描述系统的架构确实是一种简短而明确的做法。这篇文章的核心观点在于认为现有的ADLs(Architecture Description Languages)或UML(Unified Modeling Language)无法满足对系统架构描述的需求:系统需要表达一些新的“概念”,而不是生硬的使用已有的概念结构来构造系统。这个观点确实是有趣……

作者对UML等通用模型语言的看法:
引用
  • Instead of thinking about your architectural concepts, working with UML requires you to think more about how you can use UML's existing constructs to more or less sensibly express your intentions. That's the wrong focus!
  • Also, UML tools typically don't integrate very well with your existing development infrastructure (editors, CVS/SVN, diff/merge). That's not much of a problem when you use UML during some kind of analysis or design phase, but once you use your models as source code (they accurately reflect the architecture of your system, and you generate real code from them) this becomes a big issue!
  • Finally, UML tools are often quite heavyweight and complex, and are often perceived as "bloatware" or "drawing tools" by "real" developers. Using a nice textual language can be a much lower acceptance hurdle.


话说我想起去年听过的一个讲座。2007-09-15,宗平 順己氏等一行人来我们学院做了个讲座。当时做的记录如下:
引用
今天下午听了一个颇为有趣的讲座,涉及到一些以前我没接触过的软工方面.这个讲座由宗平 順己氏主讲,分为两部分:

第一部分的主题是关于软件过程的,主要讲述了waterfall, iterative与prototyping这三种模型的特征,应用场景等的比较.应该说大部分的内容都与我在大二时上的软工课上学到的差不多,不过他们有他们的角度,听起来也还不至于很闷.这部分是以日语讲授的.

第二部分的主题是以UML图来对业务模型建模,主要关注点是软件工程中的上游工程.宗平氏提出了一个叫做"To-Be"的模型,给软件工程师熟悉的UML图赋予新的含义,将其应用于业务模型建模上,以缩小软件与业务工作人员之间的理解差距.这个相当的有意思,用类图来表示业务,原本类图里应该是"方法"的地方则表示"活动",然后每个"活动"是一个具体的业务操作,用活动图来表示.它只使用了UML图中的类图/顺序图/活动图,因为这主要是面向更靠近业务方面的工作人员来实现建模,然后用于与程序员交流的方法,所以并没使用所有类型的UML图.这种建模似乎主要是针对供应链模型来做的,参考模型是APQC PCF和SCOR.这部分是以英语讲授的.

具体的资料我还需要些时间来消化,暂时就不说了.


Markus Völter是觉得UML不够用,而宗平 順己氏则是采用UML去描述业务模型。这两个思路貌似正好是相反的,不过内里说不定还有什么相似的地方呢。回头再看看。

============================================================================

嗯,要留意一下所谓"Language oriented programming"的概念。这篇文章要参考一下。
分享到:
评论
1 楼 lwwin 2008-03-18  
嗯,偶是很害怕为了用UML或者什么模式来推动设计的……

相关推荐

Global site tag (gtag.js) - Google Analytics