Ebook Models and tools for managing development processes: Part 2 include of the following content: Chapter 9: management model: formal speci cation; chapter 10: management system; chapter 11: applications, experiences, and evaluation; chapter 12: overview; chapter 13: dynamic task nets; chapter 14: unified multi-project resource management; chapter 15: object-oriented process modeling; chapter 16: current status and future work.
ºÅ Ị Đ ỊØ ÅĨ Ð ĨƯĐ Ð ËƠ ¬ Ø ĨỊ ÌĨ ĨƯĐ Ð Þ Ø Đ Ị Đ ỊØ ĐĨ Ð ỊØƯĨ Ù Ị Ø ƠƯ Ú ĨÙ× ễỉ ệá ì ỉ ìễ ỉ ểề é ề ẩấầ ấ ậ ậ ệệ ẵ ậ ệệ ½ ¼ Ë ÙƯƯ ½ Ë ÙƯƯ Ø Ðº ½ ậ ệệ ỉ é ẵ è ẩấầ ấ ậ ×Ơ ¬ Ø ĨỊ Ĩ Ø Đ Ị Đ ỊØ ĐĨ Ð × ƯÚ × Ị ØÙƯỊ × ×Ø Ừ Ị ƠĨ ỊØ ĨƯ Ø ĐƠÐ Đ ỊØ Ø ĨỊ Ĩ Ø Đ Ị Đ ỊØ ×Ý×Ø Đ ØĨ ×Ư Ị Ø Ị ÜØ Ờ Ưº ỈĨØ Ø Ø Ø ×Ơ ¬ Ø ĨỊ ĨỊ ƯỊ× Ø ỊØ ƯỊ Ð ệ ễệ ì ềỉ ỉ ểề ì í ẹ ềạ ẹ ềỉ ỉểểéì ề ểềỉệ ìỉá ề ỉ ễệ ểì ễỉ ệ ẹ ềí ệ ì ì ể ÜØ ƯỊ Ð Ư ƠƯ × ỊØ Ø ĨỊ× Ĩ Ư Ơ × Ú × Ð Ø Ø Ù× Ư ỊØ Ư º Ì × Ð Ú Ð× Ú ØĨ ×Ơ Ư Ø Ð ƯÐݺ ÁỊØ ƯỊ Ð Ư ƠƯ × ỊØ Ø ĨỊ× Ị ÐÙ ÐÐ Ø Ð× Û Ú ØĨ Ø Ị Ư Ĩ Ý ×ĨƠ ×Ø Ø ẹ ề ẹ ềỉ ỉểểéì ầề ỉ ểỉ ệ ề ¸ × ĐƠÐ Ị Ư Ð Ư ƠƯ × ỊØ Ø ĨỊ × Ư ÕÙ Ư Ø Ø Ù× Ư ỊØ Ư º Ì × Ờ Ư × ×ØỨ ØÙƯ × ĨÐÐĨÛ× Ư×ØÐݸ Û Ú Ư ỊØƯĨ Ù Ø ĨỊ ỉể ẩấầ ấ ậ ề ẹểỉ ỉ ỉì ễễé Ø ĨỊ ØĨ Ø Đ Ị Đ ỊØ Ĩ Ú éểễẹ ềỉ ễệể ìì ì ậ ỉ ểề ẵà è ×Ù × ÕÙ ỊØ × Ø ĨỊ× Ư ÚĨØ ØĨ ỉ ìễ ỉ ểề ể ỉ ì ẹể éì ểệ ễệể ỉá ỉ ỉíá ề ệ ìểệ ẹ ề ẹ ềỉ ậ ỉ ểềì ắò ệ ìễ ỉ éíà ề ậ ỉ ểề ¸ Û ÜƠÐ Ị ĨÛ Ị Ư Ð × ĐĨ éì ề ễỉ ỉể ìễ ễễé ỉ ểề ểẹ ề ỉ ệ ệ ìá ì ìì ểệ ĩễ ệ ề ì ỉ ệ ề ì ề ỉ ẩấầ Ê Ë Ð Ị Ù ´Ë Ø ĨỊ º µº Ë Ø ĨỊ º ĨĐƠ Ư × Ư Ð Ø ểệ ề ậ ỉ ểề ì ì ểệỉ ìẹẹ ệí ẵ ẩấầ ấ ậ ỉ ệìỉ é Ị Ù Ð Ị ØĨĨÐ× ĨƯ Ị Ị Ư Ị × Ị ƠƠÐ Ø ĨỊ× × ÐÐ Ị Ị Ø × º ËÙ ØĨĨÐ× ĨƠ Ư Ø ĨỊ ĨĐƠÐ Ø ỊØ ƯỊ Ð Ø ×ØỨ ØÙƯ × Ư ƠƯ × ềỉ ề ì ềìá ẹ ề ỉệ ề ễé ềìá ậ ệ ẹìá ìể ỉ ệ ệ ỉ ỉệ ìá ểệ ễệể ệ ẹì ề ểệ ệ ỉể ệ é ị ểẹẹ ề ì ỉể ĩ ỉ ểề ì ể ẹ ềỉìá ìểễ ìỉ ỉ ểễ ệ Ø ĨỊ× ĨỊ Ø ĨƯƯ ×ƠĨỊ Ị ỊØ ƯỊ Ð Ø ×ØỨ ØÙƯ × Ú ØĨ Ơ Ư ĨƯĐ º ĨƯ ĐƠÐ Đ ỊØ Ị Ø × ĨƠ Ư Ø ĨỊ× Ị ƠƯĨ Ư ĐĐ Ị Ð Ị Ù ×Ù ì á ểệ ể é ạắá ạé é ×Ơ ¬ Ø ĨỊ × Ư ÕÙ Ư ƯĨĐ Û Ø ĐƠÐ ¹ Đ ỊØ Ø ĨỊ Đ Ý ƯÚ èể ì ỉ ì í ỉ ì ề ỉ ìễ ỉ ểề é ề ẩấầ ấ ậ ậ ệệ ề ề ểệ ẵ ì ề ÐĨƠ Û Ø Ị ĨÙƯ ƯĨÙƠº Ì ÈÊÇ Ê Ë Ð Ị Ù ỊØ Ư Ø × ĨỊ Ờ× ƯĨĐ Ú Ư ĨÙ× × ƠÐ Ị × ´ Ø × ìíìỉ ẹìá ềểé ì ìíìỉ ẹìá ệ ễ ệ ệ ỉ ề ìíìỉ ẹìá ễệể ệ ẹẹ ề é ề ìà ềỉể ểề ể ệ ềỉ é ề ểì ì ẹ ềỉ ì ì ơề í Đ Ị× Ĩ ÐĨ Ð ÙÐÙ× Ø × Ù×× ĨỊ Ó B Westfechtel: Managing Development Processes, LNCS 1646, pp 193–242, 1999 c Springer-Verlag Berlin Heidelberg 1999 ½ º Å Ị Đ ỊØ ÅĨ Ð ĨƯĐ Ð ËƠ ¬ Ø ĨỊ Û Ĩ × ÝĨỊ Ø × ĨƠ Ĩ Ø × ểể ì ậ ệệ ẵ ẵ ậ ệệ ẵ ì ệ ưí ìẹẹ ệ ị ỉ ẹểìỉ ẹễểệỉ ềỉ é ề ỉệ ì ỉ ò ẩấầ ấ ậ ì ò ò ò ò ò ì ểề ỉỉệ ÙØ Ư Ơ × × Ø ÙỊ ƯÐÝ Ị Ø ẹể é ặể ìá ẹ í ệệí ỉỉệ ỉ ìá Ư ĨỊỊ Ø Ý Ị Ưݸ Ư Ø Ư Ð ỉ ểềì ễì ìàá ẹ í ềểỉ ệệí ỉỉệ ỉ ì ệễ ì ẹ ơề ì ỉíễ ì ể ềể ìá ìá ề ỉỉệ ỉ ìá ỉ ệ í × ƯÚ Ị × Ø × × Đ º ỈĨ ỉíễ ì ệ ểệ ề ị ềỉể ẹéỉ ễé ề Ư Ø Ị Ư Ư ݺ ÐÐ Ư Ơ ĨƠ Ư Ø ĨỊ× Ú ØĨ ĨỊ ĨƯĐ ØĨ Ø Ư ễ ì ẹ ệ ỉ ẹ í ơề ề Ư Ơ × Đ × Û Ðк Ì × Ị é ì ệ ỉỉệ ỉ ìá ễ ỉ ì ´ º º¸ Ư Ú Ị ƯÝ Ư Ð Ø ểềì ễìàá ệ ìỉệ ỉ ểềì ề ệí ệ é ỉ ểềì ễìá ểề ỉ ểềì ểề ềể ìàá ề ểềìỉệ ềỉì ệ ễ ỉệ ềì ểệẹ Ø ĨỊ× Ư ×Ư Ð Ư Ø Ú ÐÝ Ý Đ Ị× Ĩ Ư Ơ Ư ÛƯ Ø ỨÐ × ệé ì ễệể ệ ẹẹ ề ìỉíé ệ Ơ Ư ÛƯ Ø ỨÐ ×× ỊØ ÐÐÝ ĨỊ× ×Ø× ể é ỉạ ề ì ỉ ệ ễ ễ ỉỉ ệề ỉể ẹ ỉ ề ệ ỉạ ề ì ỉ Ư ƠÐ Ị ×Ù Ư Ơ º Ð Ư Ø ẹ ềì ỉ ỉ ỉ ì ệ ể ẩấầ Ê Ë × ỊĨØ ĨỊ ƯỊ Û Ø Ø Ð ĨƯ Ø Đ× ĨƯ Ơ ØØ ƯỊ Đ Ø Ị Ị Ư ƠÐ Đ Ịغ ÁỊ Ơ Ừ ÙÐ Ư¸ ỉ é ỉạ ề ì ì ề ệí ề Ư Ð Ư Ơ Ơ ØØ ƯỊ× ĨỊØ Ị Ị ễ ỉ ìá ệ ìỉệ ỉ ểềìá ểễỉ ểề é ềể ìá ì ỉ ềể ìá ề ỉ ễễé ỉ ểề ểề ỉ ểềìá ỉ ề ỉ ểềá ẩấầ ấ ậ ểô ệì ệ ễ ỉ ìỉì ề ĨỊ× Ư Ư Ơ Ư ÛƯ Ø ỨÐ × Ơ Ư ĨƯĐ Ị ỊØ Ð Ư ƠÐ Đ ỊØ× ´ ệ ễ ỉ ìỉ ì ệ ì ểệ Ơ ØØ ƯỊ Ị Ð Ú × Ø Ĩ×Ø Ư ễ ề ô ỉ ề ì ỉ ệé × ƠƯĨ Ư ĐĐ Ị ×ØÝÐ Ĩ × ỊĨØ ×ÙỈ ẩấầ ấ ậ ễệể ì ểềỉệểé ìỉệ ỉệ ì ĨƯ ÐÐ Ị Ư Ơ Ư ÛƯ Ø ỨÐ × ề ệ ễ ỉ ìỉì ì ế ề ệ ề ệ ểì ểệẹì ể éểểễìá ỉ ÙỊ ĨƯ Ị Ë ÙƯƯ ½ ½ Ë ÙƯƯ ½ è ì ểềỉệểé ìỉệ ỉệ ì ỉ ềểềạ ỉ ệẹ ề ìẹ ềỉể ểềỉ ì ề ệạ ềỉ ØĨ Ư Ơ Ư ÛƯ Ø ỨÐ × Ù× Ø Ư Ư Ĩ Ø Ị « Ư ỊØ Ơ ØØ ƯỊ Đ Ø × ĐĨỊ Û ĨỊ Ị × Ð Ø ĨƯ Ư ƠÐ Đ Ịغ ÁỊ Ơ Ừ ÙÐ ệá ỉ ễễé ỉ ểề ể ệé éìá ỉệ Ị × ØƯ Ư ×Ĩ Ø Ø Ø ×ĨÐÙØ ĨỊ ìễ ì ĩễéểệ ỉ ệể ễỉ ạơệìỉ ì ệ Û ´ Ì ÈÊÇ Ê Ë Ú ÐĨƠĐ ỊØ ỊÚ ƯĨỊĐ ỊØ Ë ÙƯƯ Ø Ðº ½ Ë ÙƯƯ Ø é ẵ ậ ệệ ỉ é ẵ ểô ệì ỉ ỉéí ềỉ ệ ỉ ìíềỉ ĩạ ỉểểéì ểệ ểềạ ìỉệ ỉ ề ìễ ỉ ểềì è ẩấầ ấ Ë Ð Ị Ù × Ý Ư Ị Ø Ø Ø ĨỊØ Ị× ĨØ Ø ÜØÙ Ð Ị Ư Ơ Ð Ơ Ừ׺ Ì ØĨƯ Ù Ư ỊØ × ĨƯƯ ỉề ìì ỉ ệ ìễ ỉ ỉể ỉ ểềỉ ĩỉạ ệ ìíềỉ ĩ ề ì ỉ ệé ì ể ỉ ểềỉ ĩỉạì ềì ỉ ìíềỉ ĩ ề Ư Đ ỊØ ÐÐݺ Ì ƯĨÛ× Ư ×ÙƠƠĨỪ× Ị Ú ỉ ểề éểề ểỉ ểềỉ ĩỉạ ệ ề ểềỉ ĩỉạì Ị× Ø Ú Ư Ð Ø ĨỊ× Ơ× ´ Ị Ø ÙỊ ƯÐÝ Ị ×ÝỊØ Ü ØƯ Ị ÐĨỊ Ị ề ìể ềỉ ệì ỉể ỉ ệ é ệ ỉ ểềìá ệ ìễ ỉ éíà è ềỉ ƯƠƯ Ø Ư Ü ÙØ × Ị ỊØ ƯĐ Ø Ư Ơ Ĩ Û × Ị Ư Đ ỊØ ÐÐÝ ề ệ ỉ ệểẹ ỉ ìễ ỉ ểề è ØĨĨÐ× Ư ỊØ Ư Ø × ĐÐ ××ÐÝ Ị Ø ỉ ểẹẹ ề ì ễệể í ô ệ ềỉ ỉểểéì ề ềể ề éẹểìỉ ềí ểệ ệ ỉ ìễ ỉ ểề ề ỉ ệ ề ềỉ ệễệ ỉ ỉ ểềà ề ỉ ì ễỉ ệá ì ẩấầ ấ ậ ỉể ìễ í ỉ ìỉệ ỉệ Ĩ Ø Đ Ị Đ ỊØ Ø × Ị Ø ĨƠ Ư Ø ĨỊ× Ơ Ư ĨƯĐ ĨỊ غ ØØƯ ỉ ệ ễ ì ệ éé ì ỉ ắ ÈƯĨ Ù Ø Å Ị Đ ỊØ ÅĨ Ð ½ ỉể ệ ễệ ì ềỉ ệì ểề ìỉểệ ìá ểềơ ệ ỉ ểềìá ỉ ì ề ỉìá ỉ Ị Ị ØÙƯ Ð Û Ýº Ì ĨÚ Ư ÐÐ ƠƯĨ Ù Ø Đ Ị Đ ỊØ Ư Ơ × ÕÙ Ø ×ĨƠ ×Ø Ø Ư Ơ ×ØỨ ØÙƯ Û × ØĨ ÙЬÐÐ Đ ỊÝ ĨỊ× ×Ø Ị Ý ĨỊ×ØƯ ềỉì ầễ ệ ỉ ểềì ểề ỉ ễệể ỉ Đ Ị Đ ỊØ Ư Ơ Ơ Ư ĨƯĐ ĨĐƠÐ ỉ ề ì ề ìễ ỉ ỉ éễ Ĩ Ư Ơ Ư ÛƯ Ø ỨÐ × ×Ù Ø Ø Ø × ĨỊ× ×Ø Ị Ý ĨỊ×ØƯ ỊØ× Ư ỊĨØ Ú ĨÐ Ø º ÁỊ Ø ĨÐÐĨÛ Ị ¸ ễệ ì ềỉ ỉạểỉì ể ỉ ìễ ỉ ĨỊ Ĩ Ø Đ Ị Đ ỊØ ĐĨ Ð Ú éểễ ề ỉ ậèậ ễệể ỉ è ìễ ỉ ểề ệ ẹ ềỉì ỉể ễệ ì ềỉ Ư Ư Ø Û Ø Ø ÐƠ Ĩ Ø ÈÊÇ ấ ậ ề ệểềẹ ềỉá éìể ễệể ì ỉểểé ểệ ỉệ ềì ểệẹ ề ỉ ìễ ỉ ểề ềỉể ỉ ĩỉạễệể ìì ề ểệẹ ỉ ề ểệ ễệ × ỊØ Ø ĨỊ¸ Û Ĩ ỊĨØ ××ÙĐ Ø Ø Ø Ư Ư × Đ Ð Ư Û Ø Ø ẩấầạ ấ ậ é ề ấ ỉ ệá Ø Ð Ị Ù ĨỊ×ØỨ Ø× Ư ÜƠÐ Ị × Ư ÕÙ Ư º ĨƯ ÙỪ Ư Ị ĨƯĐ Ø ểề ểề ẩấầ ấ ậá ỉ ệ ệ ì ệ ệệ ỉể ậ ệệ ẵ ậ ệệ ẵ ắ ÈƯĨ Ù Ø Å Ị Đ ỊØ ÅĨ Ð Ø Ư Ú Ị ỊØƯĨ Ù Ø ƠƯĨ Ù Ø Đ Ị Đ ỊØ ĐĨ Ð Ị Ị Ị ĨƯĐ Ð í ề ậ ỉ ểề ẵá ềể ỉệề ỉể ỉì ểệẹ é ìễ ỉ ểề ẽ ìỉ ỉ é ẵ ẽ ìỉ ỉ é ẵ ệìỉá Û × Ư Ø × Đ ĨƯ ƠƯĨ Ù Ø ẹ ề ẹ ềỉ ệ ễ ì ề é ề ểềìỉệ ềỉì ặ ĩỉá ìễ í ểềì ìỉ ề íạễệ ì ệ ề ểễ ệ ỉ ểềì ắẵ ặể ệ ễ ậ ẹ é ìì ìá ỉíễ ìá ề ỉỉệ ỉ ì ẩấầ ấ ậ ì ì ểề ØØƯ ÙØ Ư Ơ × º Ị ØØƯ ÙØ Ư Ơ ĨỊ× ×Ø× Ĩ ỊĨ × ĨƯ Ø Û Ø ØØƯ ÙØ × Ị ×Û Ĩ ỊĨØ ƯƯÝ ØØƯ ÙØ ×º Ị Ư ƠƯ × ỊØ× Ị Ưݸ Ư Ø ệ é ỉ ểềì ễ ẽ ề ềể ì é ỉ éé ềỉ ì ệ éỉ ì éé ệ ệ ềạ ỉ é ềỉ ệ ỉíà ệỉ ệẹểệ ề ẹ í ỉệ ệì ề ểỉ Ư Ø ĨỊ× ´ ƯĨĐ ×ĨÙƯ ØĨ Ø Ư Ø ề ệì ì ề ỉ ì ẹ ề ẹ ềỉ ìíìỉ ẹìá ỉ é ẹ ềỉì ể ệ ễ ì ể ệỉ ề é ìì ƠƯĨ Ù Ø Đ Ị Đ ỊØ Ư Ơ × ØĨ × Ù×× ÐĨÛ Ư Ð Ư Ị Ư Ơ × Đ º ỈĨ × Ị × Ư Ð ×× ềỉể ềể é ìì ì ề ỉíễ ìá ệ ×Ơ Ø Ú Ðݺ ỊĨ Ð ×× ¬Ị × Ø ØØƯ ÙØ × Û Ø× Ị×Ø Ị × Û ÐÐ ệệí ề ỉíễ ơề ì ỉ é ìì ì ể ×ĨÙƯ Ị Ø Ư Ø ỊĨ × Ị Ø Ư ề é ỉí ể ỉì ềìỉ ề ì ặể é ×× × Ư ĨƯ Ị Þ ỊØĨ ĐÙÐØ ƠÐ Ị Ư Ø Ị Ư Ư ݺ ×Ù Ð ×× Ị Ư Ø× ƯĨĐ Ø× ×ÙƠ Ư Ð ×× × ÐÐ ØØƯ ÙØ × Ị ỊØ ØÝƠ ׺ ÁỊ Ư Ø Ị ĨỊ ØÝƠ × × ỊĨØ ×ÙƠƠĨỪ º Ư Ơ × Đ Đ Ý Ư ƠƯ × ỊØ ĨØ Ø ĩỉ ééí ề ệ ễ ééí ệ ẵ ìễé Ý× Ư Ơ Ð× Đ Ư Đ ĨƯ ƠƯĨ Ù Ø Đ Ị Đ ỊØ Ư Ơ × Ð Ø ệ ểềá éé éìể ì ỉ ỉ ĩỉ Ð ỊĨØ Ø ĨỊ × Ư ÕÙ Ư º ÁỊ ỉ ệ ẹá ềể é ìì ì ệ ễệ ì ỊØ Ý ĨÜ Û ĨỊØ Ị× Ø Ị Đ Ĩ Ø Ð ×× Ị Ø× ØØƯ ÙØ ×º × Ị ×ĨÐ ƯƯĨÛ× ×Ø Ị ĨƯ Ị Ư Ø Ị Ư é ỉ ểềì ễì ề ỉíễ ìá ệ ìễ ỉ éí ẵ ệ ễ ì ẹ n n ĨƯ ƠƯĨ Ù Ø Đ Ị 1 Predecessor, Successor O_HasInstance Đ ỊØ edge type DOCUMENT_VERSION –––––––––––––––––– Location : string Locked : boolean is_a VERSION ––––––––––––––––––– VersionNo : integer Stable : boolean n 1 inheritance V_ActsAs O_ActsAs n n n is_a n n OD_Contains OD_HasInstance VERSION_DEPENDENCY n n OBJECT_DEPENDENCY –––––––––––––––––––––––––– OD_Variants : string [0:n] n V_Master, V_Dependent VD_Contains 1 CONFIGURATION_VERSION –––––––––––––––––––––– Variant : string [0:1] 1 O_Master, O_Dependent DOCUMENT_VERSION –––––––––––––––––– Location : string Locked : boolean attributes node class configuration version graph VC_Contains VERSION_COMPONENT n OC_HasInstance OBJECT_COMPONENT –––––––––––––––––––––––––– OC_Variants : string [0:n] n ĨƯĐ Ð ËƠ version graph HISTORY HasHistory OBJECT ––––––––––––– Name : string OC_Contains CONFIGURATION_OBJECT ––––––––––––––––––––––– Variants : string [0:n] Đ ỊØ ÅĨ Ð version plane object plane is_a º ề is_a DOCUMENT_OBJECT configuration object graph ẵ ỉ ểề ắ ẩệể ỉ ề ò ò ò ò ò ò ẵ ắ ẹ ềỉ ể é ẵ Ì Ư Ơ × Đ Û × × Ị ĨƯ Ị ØĨ Ø ĨÐÐĨÛ Ị ỨÐ × Ê Ð Ø ểềì ễìá ệ ệ ễệ ì ềỉ ì ệệểì ề ỉ ệ ì ễệ ì ềỉ ề ậ ỉ ểề ẵá ệ ẹể é ì ềể ì ề ềỉ ì ì ììểệ ệ é ỉ ểềì ễ ì ẹể é ì ậèầấ ềể ề ẩệ ììểệằậ ììểệ ìà è ì ìểéỉ ểề ééểì ĨƯ ØØ Ị ØØƯ ÙØ × ØĨ Ư Ð Ø ểềì ễìá ề ểệ ìỉ é ì ề ệ Ð Ø ĨỊ× Ơ× ØÛ Ị Ư Ð Ø ĨỊ× Ơ׺ ×Ù Ư Ơ Ĩ Ø ƠƯĨ Ù Ø Đ Ị Đ ỊØ Ư Ơ × Ư ƠƯ × ỊØ Ý ƯĨĨØ ỊĨ Û × ĨỊỊ Ø ØĨ ÐÐ ỊĨ × ÐĨỊ Ị ØĨ Ø × ×Ù Ư Ơ ´ ểềạ ệ ỉ ểề ệì ểề ệ ễ ì ệ ễệ ì ềỉ í ầặ ấ èầặ ẻ ấậầặ ềể ì ểềề ỉ ỉể ẻ ấậầặ ầẩầặ ặè ề ẻ ấậầặ ẩ ặ ặ ềể ì í ẻ ểềỉ ềì ề ẻ ểềỉ ềì ׸ Ư ×Ơ Ø Ú Ðݺ Ì Ư Ơ ĐĨ Ð × ĨỊ×ØỨ Ø ×Ù Ø Ø ×Ù Ư Ơ × Ư ĐÙØÙ ÐÐÝ × Ĩ Ịغ ÁỊ Ơ Ừ é ệá ìỉ ềạ ì ỉ ề ễễé ể ệệ ề ì ầ è ầẩầặ ặèà ề é ệ ỉ ểềì ầ èà ễ ệỉ ệểẹ ậèầấ ềể ìá ềể ể Ø Ú Ư× ĨỊ ƠÐ Ị × ĨỊỊ Ø ØĨ Ø ĨƯƯ ×ƠĨỊ Ị ỊĨ Ĩ Ø Ĩ Ø ƠÐ ề í ề ề ểẹ ề ìềìỉ Ị º ËÙ ỊĨ Ĩ Ø Ú Ư× ĨỊ ƠÐ Ị Đ Ý Ư Ư × Ị Ị×Ø Ị Ĩ Ü ØÐÝ ĨỊ ỊĨ Ĩ Ø Ĩ Ø ƠÐ Ị ề ỉ ì íá ỉ ệ ơề ẹ ỊØ Ư Ð Ø ĨỊ× Ơ ØÛ Ị Ĩ Ø ƠÐ Ị Ị Ú Ư× ĨỊ ƠÐ Ị × Ư ễệ ì ềỉ ặểỉ ỉ ỉ ỉ ì ề ể ềìỉ ềỉ ỉ ểề ì ì ệạ ơề ểề ỉểễ ể ẩấầ ấ ậà ề ì ỉể ìỉ ề ì ệểẹ ẩấầ ấ ậ ềìỉ ềỉ ỉ ểềì ềể ì ề ềìỉ ề ể ềể é ììà ểệ ìễ ééíá ỉ ệ ễ ì ẹ ì ìỉệ ỉệ ì ểééểì ầ è ệệ × ÙỊ ÕÙ Ỉ Đ ØØƯ ÙØ º Ì ĨƯƯ ×ƠĨỊ Ị Ú Ư× ĨỊ Ư Ơ ĨỊØ Ị× Ỵ ấậầặ ề ậèầấ ềể ì ẻ ệì ểềặể ềỉ × Ú Ư× ĨỊ ÙỊ ÕÙ ÐÝ ĐĨỊ Ø Ú Ư× ĨỊ× Ĩ ĨỊ Ĩ غ ËØ Ð Ị Ø × Û Ø Ư Ø Ú Ư× ĨỊ Đ Ý ỉ ểề é ỉạ ìỉ éé ẹể ệỉ ệẹểệ ầ ặè ẻ ấậầặ ệệ ì ỉệ ỉ ì ể ỉ ểềá ềỉ ì ỉ ƠÐ Û Ư Ø Ú Ư× ĨỊ ĨỊØ ỊØ× Ư ×ØĨƯ ¸ Ị ÄĨ ¸Û Ị Ø × Û Ø Ư Ø Ú Ư× ĨỊ × Ị Ư × ƯÚ ểệ ẹể ỉ ểề ầặ ấ èầặ ầ Â Ì Đ Ý Ü ×Ø Ị ĐÙÐØ ƠÐ ×ØỨ ØÙƯ Ð Ú Ư ỊØ× Ĩ Û × Đ Đ ệ ể ỉ ẻ ệ ềỉì ì ỉẵ è ểệệ ìễểề ề ểềơ ệ ỉ ểề ể ỉ ệ ễ ểềỉ ềì ầ è ầẩầặ ặè ề ầ è ẩ ặ ặ ềể ì ểì ØØƯ ÙØ × Ị Ø Ø Ú Ư ỊØ× ØĨ ỉ í éểề ầ è ầẩầặ ặè × ĨỊỊ Ø ØĨ Ø× ĨƯƯ ×ƠĨỊ Ị Ç Â è í ề ề ểẹ ề ầ ỉì ì ầặ ấ èầặ ẻ ấậầặ ì ề ềìỉ ề ể ìễ ìỉệ ỉệ é ẻ ệ ềỉắ ểềơ ÙƯ Ø ĨỊ Ú Ư× ĨỊ Ư Ơ ĨỊØ Ị× ềể ì ể é ìì ẻ ấậầặ ầẩầặ ặèá ệ ểềề ỉ ỉể ỉ ểệệ ìễểề ề ẻ ấậầặ ề ầ è ầẩầặ ặè í ề ểẹ ề ẻ ỉì ì ề ầ ìềìỉ ề ìá ệ ×Ơ Ø Ú Ðݸ Ị ỊĨ × Ĩ Ð ×× ẻ ấậầặ ẩ ặ ặ ể ì ề ề ểẹ ề ầ ìềìỉ ề ệểẹ ỉ ểệệ ìễểề ề ầ è ẩ ặ ặ ểệ ỉ ì ể ì ẹễé ỉíá ểềéí ì ề é ØØƯ ÙØ ĨƯ Ư Ø Ư Þ Ị Ú Ư ềỉì ì ềỉệểạ ềỉ ệ ễ ì ẹ Á ×ØỨ ØÙƯ Ð Ú Ư ỊØ× Ư ỊĨØ Ù× ỉ ẻ ệ ềỉ ỉỉệ ỉ ì ì ềỉá ề ỉ ẻ ệ ềỉì ì ỉể ỉ ầặ ấ èầặ ầ è ì ẹễỉí ắ ĩ ĐƠÐ Ĩ ƠƯĨ Ù Ø Đ Ị V_ActsAs Đ ỊØ Ö Ô Design.2 O_HasInstance Successor 14 : HISTORY version graph node number node class Design Design.1 15 : DOCUMENT VERSION O_HasInstance Predecessor 16 : DOCUMENT OBJECT HasHistory 14 : HISTORY Shaft.3 Predecessor O_ActsAs (typed) edge version graph RawDesign 18 : DOCUMENT OBJECT O_HasInstance RawDesign.1 17 : DOCUMENT VERSION V_ActsAs Plan OC_HasInstance : OBJECT COMPONENT version graph Plan O_HasInstance O_ActsAs Plan.3 19 : DOCUMENT VERSION 20 : DOCUMENT OBJECT configuration version graph V_ActsAs Plan.3 V_Dependent 11 : VERSION COMPONENT VC_Contains 10 : VERSION DEPENDENCY OD_HasInstance O_Dependent OC_Contains : OBJECT DEPENDENCY VD_Contains V_Master 12 : CONFIGURATION VERSION VC_Contains RawDesign.1 V_Dependent : VERSION COMPONENT O_Master OD_Contains configuration object graph ĨƯĐ Ð ËƠ 13 : DOCUMENT VERSION O_ActsAs : OBJECT COMPONENT OC_HasInstance RawDesign O_Dependent VD_Contains : VERSION DEPENDENCY VC_Contains Design.2 V_Master OD_HasInstance : OBJECT DEPENDENCY OC_Contains Shaft Đ ỊØ ÅĨ Ð : VERSION COMPONENT Design O_Master OD_Contains : CONFIGURATION OBJECT º Å Ò OC_HasInstance : OBJECT COMPONENT OC_Contains O_HasInstance ẵ ỉ ểề ắ ÈƯĨ Ù Ø Å Ị Đ ỊØ ÅĨ Ð ½ ệ ắ ì ểì ề ĩ ẹễé ể ễệể Ø Đ Ị Đ ỊØ Ư Ơ Û × ƯÚ ƯĨĐ Ø ÜØ ƯỊ Ð Ư ƠƯ × ỊØ Ø ểề ề ệ ểề ễ ẵ è ểềơ ÙƯ Ø ĨỊ Ĩ Ø Ư Ơ ĨƯ Ë Ø × ×ƠÐ Ý ĨỊ Ø ØĨƠº ÐĨÛ¸ ĨỊ Ĩ Ø× ệì ểềì ì ì ểềá ề ẹ éí ậ ỉ ề ểỉ ì ìá ểẹễểề ềỉì ểệ ặ ễệể ệ ẹì ệ ểẹ ỉỉ ệểẹ ỉ ệ ỉ ỉ ểỉỉểẹá ỉạểỉì ể ệì ĨỊ Ư Ơ × ĨƯ Ø Ĩ ÙĐ ỊØ× × ềá ấ ì ềá ề ẩé ề ệ ề ì ệ ắ ểề ễ ẵ ắ ểệ ỉ ÜØ ƯỊ Ð Ư ƠƯ × ỊØ Ø ĨỊ Ĩ ệì ểề ệ ễ ìà ểềìỉệ ềỉì ậể ệá Ø Ư Ơ × Đ × ỊĨØ ƠĨÛ Ư ÙÐ ỊĨÙ ØĨ ÜƠƯ ×× ÐÐ Ị × Ĩ ĨỊ×ØƯ ỊØ× º ÙỪ Ư ×ØỨ ØÙƯ Ð ĨỊ×ØƯ ỊØ× Ư Ú ề ề è é ẵ è ì ểềìỉệ ềỉì ệ é ìì í ỉỉệ ỉ ì ỉ ệ ề ểệỉ ểéẹềà ệ ĩạ ễé ề éể ề ề ĨƯ ĨỊ×ØƯ ỊØ ĐÙ×Ø ĨÐ Ø Ư Ư Ơ ØƯ ềì ểệẹ ỉ ểề ểệ ễệ ì éíá ểềì Ư Ị Ư Ơ Ð ×× Ị ×ØƯ Ø Ø ØÝƠ ¸ Û Ư ÕÙ Ư Ø Ø Ị Ị ểệ ểềìỉệ ềỉ éơéé ỉệ ĩ ỉ ểề ể ề ÜƠĨỪ Ư Ơ ØƯ Ị× ĨƯĐ Ø ĨỊº Ï Ø Ừ Ư Ơ ØƯ Ị× ĨƯĐ Ø ĨỊ × ØĨĐ ´ ƠƯĨ Ù Ø ĨỊµ ĨƯ ĨĐƠÐ Ü ´ ØƯ ềìạ ỉ ểềàá ể ì ềểỉ ẹ ỉỉ ệ ì ệ ì ễểìì é ểềìỉệ ềỉì ệ ề ểệ º Ë Ị Ø ƠƯĨ Ù Ø Đ Ị Đ ềỉ ỉ ì ì ẹễéểí í ẹéỉ ễé ì ệìá Ị ĨỊ× ×Ø Ị × × ĨÙÐ ƠƯ Ú ỊØ ƯĨĐ Ư Ơ Ị ỊØĨ Ø ĨĐĐĨỊ Ø × º ÙỪ ƯĐĨƯ ¸ Ø ƠƯĨ Ù Ø Đ Ị Đ ềỉ ìíìạ ỉ ẹ ì ẹểệ ìí ỉể ì ỉ ểô ệì ểẹẹ ề ì ỉểẹ ỉ ééí ẹ ềỉ ề ểềì ìỉ ề í ề Ư Ø ĨỊ Ĩ ÙỊ ÕÙ Ú Ư× ĨỊ ỊÙĐ ệà ề ééíá ề ẹ ềí ì ì ề ề ĨỊ× ×Ø Ị Ý × ĐƠÐÝ Ị Ø × Đ ìỉ è ềá ỉ ì ẹểệ ặ ềỉ ỉể Ư Ø Ø ĨƠ Ư Ø ĨỊ Ø Ị ØĨ ĨĐƠ Ị× Ø Ø Ð Ø Ư ĨỊº ÀĨÛ Ú ệá ểềì ìỉ ề í ề ểệ ẹ ềỉ éìể × × Ú ỊØ × Ë ÙƯƯ Ị ÙỊ ĨƯ ½ º Á ĨỊ× ×Ø Ị Ý × Ị ĨƯ ĐĐ Ø ÐÝ Ø Ư × Ị Ð ĨƠ Ư ỉ ểềá ỉ ì ệ ì ềểỉ ệ ỉể ễ Ư ĨƯĐ ĨƠ Ư Ø ĨỊ× Ị ỊÝ × Ư ĨƯ Ưº Ï Ú ×ĨÐÚ Ø × ƠƯĨ Ð Đ í ểô ệ ề ểẹễé ĩ ểễ ệ ỉ ểềì ỉểẹ ỉ ééí ểềì ìỉ ề íạ ễệ ì ệ ề ểễ ệ ỉ ểềì ểệ ĩ ẹễé Ư Ø ĨỊ Ĩ Ú Ư× ĨỊ ĨĐƠĨỊ ỊØ Ð× Ø Ư × ỊĨ ĨƯƯ ×ƠĨỊ Ị Ĩ Ø ĨĐƠĨỊ Ịغ Ì Ư ĨƯ ¸ ĨĐƠÐ Ü ĨƠ Ư Ø ểề ì ểô ệ ỉểẹ ỉ ééí ềì ệỉì Đ ×× Ị Ĩ Ø ĨĐƠĨỊ Ịغ ÐÐ ĨĐƠÐ Ü ểễ ệ ỉ ểềì ệ ểô ệ ề ỉ ểề ØĨ Ø × ĨƠ Ư Ø ĨỊ׺ ÁỊ Ø × íá ỉ ì ệ ẹ í ỉ ệẹ ề Ø ĐĨÙỊØ Ĩ ĨỊ× ×Ø Ị Ý Ư Ơ Ư Ø ĨỊ× Û Ư Ơ Ư ĨƯĐ ÙØĨĐ Ø ÐÐݺ ÇỊÐÝ Û ĨỊ×ØƯ ỊØ× Ị Ú ĨÐ Ø Ø ĐƠĨƯ Ư ÐÝ ´ ỊØ ƯỊ и ÜØ ƯỊ и Ị ểẹễểề ềỉ ểềì ìỉ ề íá ệ ìễ ỉ éí ì ểề ỉ ểềì ẵẵòẵà è ì ểềìỉệ ềỉì ệ ề ểệ ề ệì ểề ì ệểị ề ẵ ểềìỉệ ềỉ ì ỉ ệ ìỉ ỉ ĨƯ ÝỊ Đ º ĨỊ×ØƯ ỊØ × ÐÐ ×Ø Ø ỉ ơề ì ề ề ệ ềỉ è ì ề Ư ỊØ× ĐÙ×Ø ƠƯ × ƯÚ Ý ÐÐ ÜƠĨỪ Ư ễ ỉệ ềì ểệẹ ỉ ểềì ề è é ẵá ẹểìỉ ểềìỉệ ềỉì ệ ìỉ ỉ ểềơ ệ ỉ ểề ìỉ é ỉí ẵ ề ìểẹ ì ìá ìỉ ỉ ểềìỉệ ềỉì éểề ệ ềểỉ ìặ ềỉ ểệ ĩ ẹễé ểềạ ệ ỉ ểề ×Ø Ð ØÝ ÐĨỊ Ĩ × ỊĨØ Ù Ư ỊØ ỉ ỉ ìỉ é ểềơ ệ ỉ ểề ệì ểề ề ềể éểề ệ ẹể ềì ệỉ ĨỊ» Ð Ø ĨỊ Ĩ ĨĐƠĨỊ ỊØ×» Ơ Ị Ị ×µº ÝỊ Đ ĨỊ×ØƯ ỊØ Ư ×ØƯ Ø× Ø ƠƠÐ Ð ØÝ Ĩ Ư Ơ ØƯ Ị× ĨƯĐ Ø ĨỊ× ØĨ Ừ Ị Ư Ơ ×Ø Ø ×º ĨƯ Ü ẹễé ề ễệểỉ ỉ ểề ẵ ĩ é × Ị × ØĨ ×Ø Ð ĨỊ¬ ÙƯ Ø ĨỊ ệì ểềì ắẳẳ ề ẹ ềỉ ể Ð ĨƯĐ Ð ËƠ ¬ Ø ĨỊ no name enforced static/ dynamic description Unique naming yes static Object names must be globally unique Unique version numbers yes static Versions of one object must be numbered in a unique way Unique object components yes static An object must not act more than once as a component in the same configuration object Unique relations yes static For each pair of versions (components), there must exist at most one connecting successor (dependency) relationship Local relations yes static Successor and dependency relationships must be local, i.e., both ends must belong to the same subgraph Acyclic relations yes static Cycles in successor and dependency relationships are not allowed Object–version correspondence yes static Each version component (dependency) has to be mapped ‘monomorphically’ to the corresponding object component (dependency) Version deletion condition yes dynamic A version which has applied occurrences must not be deleted Locking yes dynamic A document version can only be checked out once for writing 10 Check in yes dynamic A document version can only be checked in if it has been checked out for writing 11 Internal consistency no static The contents of each version must eventually be consistent For configuration versions, this means that each component must eventually be consistent 12 External consistency no static For each version dependency, the dependent component must eventually be consistent with the master component 13 Component consistency no static Each version component must eventually be bound to an internally consistent version, and it must eventually be externally consistent with all master components 14 Consistency of stable versions yes static Each stable version must be internally consistent 15 Historical stability yes static Each version which has a successor must be stable 16 Configuration stability yes static All components of a stable configuration version must be stable, as well 17 Change protection yes dynamic A stable configuration version must not be modified 18 Variant declaration yes static If a component (dependency) belongs to a certain variant, this variant must be contained in the variant set of the configuration object 19 Referential variant integrity yes static If a dependency belongs to a certain variant, the connected components must belong to it, as well è é ẵ ểềì ìỉ ề í ĨỊ×ØƯ ỊØ× ĨƯ ƠƯĨ Ù Ø Đ Ị Đ ỊØ º¾ ÈƯĨ Ù Ø Å Ị Đ ỊØ ÅĨ Ð ắẳẵ NotExistent Create, Derive Delete Freeze Stable Mutable Thaw Checkout (read) Checkout (read) Checkin document versions Checkout (write) Checkout (read) Locked NotExistent Delete Create, Derive configuration versions Freeze Stable Mutable Thaw Read º º¿º ËØ Ø ØƯ Ị× Ø ĨỊ Read, Write ệ ẹì ểệ ể ẹ ềỉ ề ểềơ ÙƯ Ø ĨỊ Ú Ư× ĨỊ× ËØ Ø ØƯ Ị× Ø ĨỊ Ư Đ× Ư Û ÐÐ ×Ù Ø ØĨ × Ư ÝỊ Đ ĨỊ×ØƯ ỊØ׺ ÙƯ º¿ × ĨÛ× ×Ø Ø ØƯ Ị× Ø ĨỊ Ư Đ× ĨƯ Ĩ ẹ ềỉ ề ểềơ ệ ỉ ểề ệạ ì ểềìá ệ ìễ ỉ éí ỉệ ềì ỉ ểề ĨƯƯ ×ƠĨỊ × ØĨ Ø ƠƠÐ Ø ĨỊ Ĩ Ừ Ị ĨƠ Ư Ø ĨỊº ÁỊ ĨƯ Ư ØĨ ƠƯĨÚ ĨƯ ÙỊ ĨƯĐ Ú Ư× ĨỊ Ị Ĩ Ĩ ÙĐ ềỉì ề ểềơ ệ ỉ ểềìá ỉ ìỉ ỉ ỉệ ềì ỉ ểề ệ ẹì ệ ề × Ư × ƠĨ×× Ð º ÁỊ Ơ Ừ ÙÐ ệá ểỉ ệ ẹì ì ệ ỉ ìỉ ỉ ì ậỉ é ề ỉ é ểệệ ìễểề ỉể Ø Ú ÐÙ × ØỨ Ị Ð× Ĩ Ø ËØ é ỉỉệ ỉ ệ ìễ ỉ éí ề × Ị ĨỊÐÝ Ơ Ư ĨƯĐ Ị ×Ø Ø ÅÙØ é ể ệá ỉ ệ ệ ìỉ éé ×ĨĐ « Ư Ị × ØÛ Ị Ø ×Ø Ø ØƯ Ị× Ø ĨỊ Ư Đ× Ë Ị Ĩ ÙĐ ỊØ Ú Ư× ĨỊ× Ư Đ Ị ỚÐ Ø ĨÙØ× Ø ƠƯĨ Ù Ø Đ Ị Đ ỊØ Ø × ¸ ĨÙØ Ị Ị Ư Ị ĨƯ Ø Ü Ị ặểỉ ỉ ỉ ể ẹ ềỉ ệì ểề ề ểềéí ểỉ ểề ểệ ệ ỉạ ề ầề ỉ ểỉ ệ ề ểềơ ệ ỉ ểề ệì ểềì ệ ẹ ề ễé ỉ ề ễé º º¸ Û Ø Ị Ø ƠƯĨ Ù Ø Đ ề ẹ ềỉ ỉ ì è ệ ểệ ĨÙØ Ị Ị Ư ỊĨØ ƠƯĨÚ ØØ ĨỊ¬ ÙƯ Ø ểề é é ấ ỉ ệá ểềơ ệ ỉ ĨỊ Ú Ư× ĨỊ × Ư Ø ƯĨĐ × Ư Ø ĨƯ Ý ĨƠÝ Ị ƠƯ ××ĨƯ Ø Ị Ø ì ẹể ơề ééíá ỉ ì ệểị ề ểềìỉệ ềỉì ề ĩễệ ìì ề ẩấầ ấ ậ ề ì ệ é íì ẩệ ề ễểìỉạ ểề ỉ ểềì ề ơề ểệ ệ ễ ỉệ ềì ểệẹ ỉ ểềì ỉể ểệẹ é ị íề ẹ ểềạ ìỉệ ềỉì ẩấầ ấ ậ ể ì ềểỉ ìễễểệỉ ìỉ ỉ ØƯ Ị× Ø ĨỊ Ư Đ× × ỊØƯĨ Ù ĨÚ ¸ ÙØ ×Ø Ø ØƯ Ị× Ø ĨỊ Ư Đ× ề ẹ ễễ ì éí ểềỉể ễệ ề ễểìỉạ ểề ỉ ểềì ậ ề ễệ ề ễểìỉ ểề Ø ĨỊ× Ư ØØ ØĨ Ư Ơ ØƯ Ị× ĨƯĐ ỉ ểềìá ỉ í éé ì ìì ề ỉ ề ĩỉ ì ỉ ểề ắẳắ ề ẹ ỊØ ÅĨ Ð ĨƯĐ Ð ËƠ ¬ Ø ĨỊ ËØ Ø ĨỊ×ØƯ ỊØ× Ị ÜƠƯ ×× Ý ØØƯ ÙØ ĨỊ×ØƯ ỊØ× º Ị ØØƯ ÙØ ĨỊ×ØƯ ỊØ × Ư Ú ỉỉệ ỉ ì ơề í ểểé ề ĩễệ ìì ểề ề ềạ ệ éá ẩấầ ấ ậ ìỉ ề ì ì ỉ ề ềỉệ ềì ỉỉệ ỉ ìá Û Ư Ú Ú ÐÙ × Ø ƯĨÙ ÜƠÐ Ø ×× ỊĐ Ịظ Ị ƯÚ ØØƯ ÙØ ×¸ Û Ư Ð ÙÐ Ø ÙØĨ¹ Đ Ø ÐÐÝ ƯĨĐ ´ ỊØƯ ềì ểệ ệ ỉỉệ ỉ ì ề ỉ Ị ĨƯ ĨĨ º ØØƯ ÙØ ĨỊ×ØƯ ỊØ× Ú ×Ơ Ð Đ Ị Ị ĨỊ ƯỊ Ị Ø Ú ỊØ× Û ØƯ Ư Ø Ư Ú Ð¹ Ù Ø ĨỊ Ị Ø Ư Ø ĨỊ× ĨỊ ĨỊ×ØƯ ỊØ Ú ĨÐ Ø ĨỊ× ´Ø × Û ÐÐ × Ù×× Ð Ø ệà ễ ệỉ ệểẹ ỉ ỉá ỉ í ệ ề Ð Ð ĨƯ Ị ƯÝ Ư Ú ØØƯ ÙØ ×º ểệ ĩ ẹễé ểềìỉệ ềỉ ềỉệể ề ìễ ệ é ìì ẹ í ệ ơề ề ì é ×× ´Ð ỊÝ ƯÚ ØØƯ ÙØ µº node class VERSION constraint InternallyConsistent = true; end; node class DOCUMENT_VERSION is a VERSION redef constraint InternallyConsistent = CheckConsistency ( self.Location ); end; node class CONFIGURATION_VERSION is a VERSION redef constraint InternallyConsistent = for all Component : VERSION_COMPONENT := self.-VC_Contains-> :: Component.ComponentConsistent end; end; node class VERSION_COMPONENT is a NODE constraint ComponentConsistent = [ self is with