Integration Tools Supporting Development Processes

  • Stefan Gruner
  • Manfred Nagl
  • Andy Schürr
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1526)

Abstract

Development processes of various engineering disciplines are usually rather complex. They consist of many interacting subprocesses, which are carried out by different developers. Each subprocess delivers its own documents, which are part of the overall result. All involved documents and their mutual, fine-grained dependencies are subject to permanent changes during the life-time of their development process. Keeping these documents in a consistent state is a most important prerequisite for the success of any engineering project.

As completely automatic change control between documents is often impossible, interactive consistency monitoring and (re-)establishing tools are necessary, which we call integration tools. This paper reports about experiences in building integration tools for software engineering environments and about ongoing efforts to build similar integration tools. This paper reports about experiences in building integration tools for software engineering environments and about ongoing efforts to build similar integration tools for chemical process engineering. Furthermore, the paper describes an object-oriented and graph-grammar-based formal method for specifying integration tools and sketches how their implementations are derived from their high-level specifications.

Keywords

Development processes document integration tool specification fine-grained interdocument relations coupled graph grammars 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AGT89]
    Aho, A.V., Ganapathi, M., Tijang, S.W.K.: Code Generation Using Tree Matching and Dynamic Programming. TOPLAS 11/4, 491–516 (1989)CrossRefGoogle Scholar
  2. [BJ95]
    Broy, M., Jähnichen, S. (eds.): KORSO 1995. LNCS, vol. 1009. Springer, Heidelberg (1995)Google Scholar
  3. [BOP97]
    Baresi, L., Orso, A., Pezzè, M.: Introducing Formal Specification Methods in Industrial Practice. In: Proc. 19th Int. Conf. on Software Engineering (ICSE 1997), pp. 56–66. IEEE Computer, Los Alamitos (1997)Google Scholar
  4. [Bo+88]
    Borras, P., et al.: Centaur: The System. In: Henderson, P. (ed.) Proc. 3rd ACM Softw. Eng. Symp. on Practical Software Development Environments, ACM Software Engineering Notes 13/5, pp. 14–24 (1988)Google Scholar
  5. [BW96]
    Bullinger, H.J., Warschatt, J. (eds.): Concurrent Simultaneous Engineering Systems. Springer, Berlin (1996)Google Scholar
  6. [CC93]
    Cordy, J.R., Carmichael, J.H.: The TXL Programming Language Syntax and Informal Semantics Version 7, Technical Report 93-355, Computing and Information Science at Queen’s University, Kingston (1993)Google Scholar
  7. [CGN98]
    Cremer, K., Gruner, S., Nagl, M.: Graph Transformation based Tools for chemical Process Engineering. In: Ehrig, H., Engels, G., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. II. World Scientific, Singapore (1998) (to appear)Google Scholar
  8. [Da+97]
    Dadam, P., et al.: Interaction Expressions - a Powerful Formalism for Describing Inter-Workflow Dependencies, Technical Report: Informatik-bericht 97-04, Universität Ulm (1997)Google Scholar
  9. [DHW95]
    Dayal, U., Hanson, E., Widom, J.: Active Database Systems. In: Kim (ed.) Modern Database Systems, pp. 434–456. ACM, New York (1995)Google Scholar
  10. [EIA94]
    EIA / CDIF: CDIF Family of Standards (1994) Google Scholar
  11. [EJS88]
    Engels, G., Janning, T., Schäfer, W.: A Highly Integrated Tool Set for Program Development Support. In: Proc. ACM SIGSMALL Conf. 1988, pp. 1–10 (1988)Google Scholar
  12. [FNK94]
    Finkelstein, A., Nusibeh, B., Kramer, J.: A Framework Expressing the Relationships between Multiple Views in Requirements Specifications. IEEE Transactions on Software Engineering 20/10, 760–773 (1994)Google Scholar
  13. [FO90]
    Fernström, C., Ohlsson, L.: The ESF Vision of a Software Factory. In: Madhavji, N.H., et al. (eds.) SD & F1, pp. 91–100. Pitman, London (1990)Google Scholar
  14. [Fra91]
    Frankel, B.: The ToolTalk Service. Sun Microsystems (1991)Google Scholar
  15. [Fro90]
    Fromme, D.: HP Encapsulator: Bridging the Generation Gap. HP-Journal, 59–68 (1990)Google Scholar
  16. [FS96]
    Finkelstein, A., Sommerville, I.: The View Points FAQ. Software Engineering Journal 11/1, 2–4 (1996)CrossRefGoogle Scholar
  17. [FS97]
    Fowler, M., Scott, K.: UML Distilled. Addison Wesley, New York (1997)Google Scholar
  18. [GG84]
    Ganzinger, H., Giegerich, R.: Attribute Coupled Grammars. In: Proc. ACM Symp. on Compiler Constr., SIGPLAN Notices, vol. 17/6, pp. 172–184 (1984)Google Scholar
  19. [GHS95]
    Georgakopoulos, D., Hornick, M., Sheth, A.: An Overview of Workflow Management: From Process Modelling to Workflow Automation Infrastructure. Distributed and Parallel Databases 3, 119–153 (1995)CrossRefGoogle Scholar
  20. [Gru98]
    Gruner, S.: Why should Chemo-Engineers be interested in Graph Grammars? In: Engels (ed.) Accepted for presentation at the TAGT 1998 6th Workshop on Theory and Application of Graph Transformation, Paderborn (1998)Google Scholar
  21. [Her96]
    Hermanns, O.: Multicast Communication in Cooperative Multimedia Systems. In: Doct. Dissertation, RWTH Aachen (1996) (in German)Google Scholar
  22. [HN+90]
    Harrison, D., Newton, A., Spickelmeir, R., Barnes, T.: Electronic CAD Frameworks. Proc. IEEE 78/2, 393–419 (1990)CrossRefGoogle Scholar
  23. [Hru91]
    Hruschka, P. (ed.): CASE in Application – Experiences with the Introduction of CASE. Hanser-Verlag, München (1991) (in German)Google Scholar
  24. [ISO]
    ISO CD 10303: Product Data Representation and Exchange, NIST Gai-thersburg, USA Google Scholar
  25. [Jan92]
    Janning, T.: Requirements Engineering and Programming in the Large. In: Doct. Dissertation RWTH Aachen. Deutscher Universitätsverlag, Wiesbaden (1992)Google Scholar
  26. [JJ95]
    Jeusfeld, M., Johnen, U.: An Executable Metamodel For Re-Engineering of Database Schemas. Int. Journal of Cooperative Information Systems 4(2/3), 237–258 (1995)CrossRefGoogle Scholar
  27. [JN98]
    Jarke, M., Nissen, H.: Requirements Engineering Repositories – Formal Support for Informal Teamwork Methods. In: Broy, M., Rumpe, B. (eds.) RTSE 1997. LNCS, vol. 1526, pp. 331–355. Springer, Heidelberg (1998)Google Scholar
  28. [JSZ96]
    Jahnke, J., Schäfer, W., Zündorf, A.: A Design Environment for Migrating Relational to Object-Oriented Data Base Systems. In: Proc. Int. Conference on Software Maintenance 1996, pp. 163–170. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  29. [KKM87]
    Kaiser, G.E., Kaplan, S.M., Micallef, J.: Multi-user, Distributed, Language-based Environment. IEEE Software 4/6, 58–67 (1987)CrossRefGoogle Scholar
  30. [Kra98]
    Krapp, C.A.: An Adaptable Environment for the Management of Development Processes. In: Doct. Diss. RWTH Aachen. Series ABI, vol. 22. Verlag der Buchhandlung Augustinus, Aachen (1998)Google Scholar
  31. [Kr693]
    Kronlöf, K.: Method Integration. Wiley, Chicester (1993)Google Scholar
  32. [Lef95]
    Lefering, M.: Integrating Tools in a Software Development Environment. In: Doct. Diss. RWTH Aachen. Shaker-Verlag, Aachen (1995) (in German)Google Scholar
  33. [Lew88]
    Lewerentz, C.: Interactive Design of Large Program Systems. In: Doct. Diss. RWTH Aachen. Series IFB, vol. 194. Springer, Berlin (1988) (in German)Google Scholar
  34. [McI95]
    McIntosh, K.G.: Engineering Data Management - A Guide to Successful Implementation. McGraw-Hill, Maidenhead (1995)Google Scholar
  35. [Nag90]
    Nagl, M.: Software Engineering: Methodical Programming in the Large. Springer, Berlin (1990) (in German)Google Scholar
  36. [Nag96]
    Nagl, M. (ed.): IPSEN 1996. LNCS, vol. 1170. Springer, Heidelberg (1996)Google Scholar
  37. [NK91]
    Nyce, J.M., Kahn, P.: From Memex to Hypertext: Vanevar Bush and the Mind’s Machine. Academic Press, London (1991)Google Scholar
  38. [NM97]
    Nagl, M., Marquardt, W.: SFB 476 IMPROVE: Support for Overlapping Developing Processes in Chemical Process Engineering. In: Jarke, Pasedach, Pohl (eds.) Informatik 1997. Series Informatik aktuell, pp. 143–154. Springer, Berlin (1997) (in German)Google Scholar
  39. [NW98]
    Nagl, M., Westfechtel, B.: Integration of Development Systems in Engineering Applications. Springer, Berlin (1998) (in German)Google Scholar
  40. [PDJ94]
    Pohl, K., Dömges, R., Jarke, M.: Decision-oriented Process Modelling. In: Jarke, M. (ed.) Proc. 9th Intern. Software Process Workshop, ISPW 9, Airlie (1994)Google Scholar
  41. [Pra71]
    Pratt, T.W.: Pair Grammars, Graph Languages and String-to-Graph Translations. Journ. of Comp. and System Sciences 5, 560–595 (1971)MATHMathSciNetCrossRefGoogle Scholar
  42. Rei90.
    Reddy, R., et al.: Computer Support for Concurrent Engineering. IEEE Computer 26/1, 12–16 (1993)Google Scholar
  43. [Rei90]
    Reiss, S.: Interacting with the Field Environment. Software-Practice and Experience 20/S1, 89–115 (1990)CrossRefGoogle Scholar
  44. [RS96]
    Rekers, J., Schürr, A.: Defining and Parsing Visual Languages with Layered Graph Grammars. Journ. of Visual Languages and Computing 8/1, 27–55 (1997)CrossRefGoogle Scholar
  45. [RT88]
    Reps, T., Teitelbaum, T.: The Synthesizer Generator Reference Manual. Springer, New York (1988)Google Scholar
  46. [SB93]
    Schefström, D., van de Broek, G. (eds.): Tool Integration. Wiley, New York (1993)Google Scholar
  47. [Sch94]
    Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Tinhofer (ed.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Berlin (1995)Google Scholar
  48. [Sch97]
    Schtürr, A.: Programmed Graph Replacement Systems. In: Rozenberg (ed.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. I, pp. 479–546. World Scientific, Singapore (1997)CrossRefGoogle Scholar
  49. [SL90]
    Sheth, A.P., Larson, J.A.: Federated Database Systems for Managing Distributed, Heterogeneous and Autonomous Databases. Comp. Surveys 22/3, 183–236 (1990)CrossRefGoogle Scholar
  50. [SS95]
    Sachweh, S., Schäfer, W.: Version Management for Tightly Integrated Software Engineering Environments. In: Proc. 7th Int. Conference on Software Engineering Environments. IEEE Computer Society Press, Los Alamitos (1995)Google Scholar
  51. [SWZ95]
    Schtürr, A., Winter, A.J., Zündorf, A.: Graph Grammar Engineering with PROGRES. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 219–234. Springer, Berlin (1995); The PROGRES environment is available as free software by http://www-i3.informatik.rwth-aachen.de/research/progres/index.html
  52. [Wes91]
    Westfechtel, B.: Revision and Consistency Control in an Integrated Software Development Environment. In: Doct. Diss., RWTH Aachen, Doct. Diss., RWTH Aachen. Series IFB, vol. 280. Springer, Berlin (1991) (in German)Google Scholar
  53. [Wes98]
    Westfechtel, B.: Graph-based Models and Tools for Managing Development Processes. Habilitation Thesis, RWTH Aachen (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Stefan Gruner
    • 1
  • Manfred Nagl
    • 2
  • Andy Schürr
    • 3
  1. 1.Graduiertenkolleg für Informatik und TechnikRWTH AachenAachenGermany
  2. 2.Lehrstuhl für Informatik IIIRWTH AachenAachenGermany
  3. 3.Inst. für SoftwaretechnologieUniv. der Bundeswehr MünchenNeubibergGermany

Personalised recommendations