Abstract
The aim of this paper is to present a generic component framework for system modeling that satisfies main requirements for component-based development in software engineering. In this sense, we have defined a framework that can be used, by providing an adequate instantiation, in connection with a large class of semi-formal and formal modeling techniques. Moreover, the framework is also flexible with respect to the connection of components, providing a compositional semantics of components. This means more precisely that the semantics of a system can be inferred from the semantics of its components. In contrast to other component concepts for data type specification techniques, our component framework is based on a generic notion of transformations. In particular, refinements and transformations are used to express intradependencies, between the export interface and the body of a component, and interdependencies, between the import and the export interfaces of different components. The generic component framework generalizes module concepts for different kinds of Petri nets and graph transformation systems proposed in the literature, and seems to be also suitable for visual modeling techniques, including parts of the UML, if these techniques provide a suitable refinement or transformation concept. In this paper the generic approach is instantiated in two steps. First to high-level replacement systems generalizing the transformation concept of graph transformations. In a second step it is further instantiated to low-level and high-level Petri nets. To show applicability we present sample components from a case study in the domain of production automation as proposed in a priority program of the German Research Council (DFG).
Similar content being viewed by others
References
Allen R, Garlan D (1997) A Formal Basis for Architectural Connection. In: ACM TOSEM ’97, pp 213–249
Bardohl R (1999) GenGEd – Visual definition of visual languages based on algebraic graph transformation. PhD Thesis, TU Berlin, Germany
Braatz A, Ritter A (2001) Referenzfallstudie Produktionstechnik. Available at tfs.cs.tu-berlin.de/projekte/indspec/spp/themenbereiche.html
Cheesman J, Daniels J (2001) UML Components. Addison-Wesley
Ehrig H (1977) Embedding Theorems in the Algebraic Theory of Graph Grammars, Fundamentals of Computation Theory, LNCS, vol 56. Springer, pp 245–255
Ehrig H, Geisler R, Klar M, Padberg J (1997) Horizontal and Vertical Structuring for Statecharts. Proc. CONCUR ’97, LNCS, vol 1301. Springer, pp 327–343
Ehrig H, Habel A, Kreowski H-J, Parisi-Presicce F (1991) Parallelism and Concurrency in High-Level Replacement Systems. Math. Struct. in Comp. Science 1:361–404, Cambridge Univ. Press
Ehrig H, Mahr B (1990) Fundamentals of Algebraic Specification 2: Module Specifications and Constraints. Vol. 21 of EATCS Monographs on Theor. Comp. Science, Springer Verlag, Berlin
Ehrig H, Grosse-Rhode M (2001) Integration von Techniken der Softwarespezifikation für Ingenieurwissenschaftliche Anwendungen. Informatik, Forschung und Entwicklung 16:100–117, Springer Verlag
Ehrig H, Orejas F (2001) A Conceptual and Formal Framework for the Integration of Data Type and Process Modeling Techniques. In: Proc. GT-VMT 2001, ICALP 2001 Satellite Workshops. Heraclion, Greece, pages 201–228. Also in: Electronic Notes in Theor. Comp. Science 50,3
Ehrig H, Orejas F (2001) A Generic Component Concept for Integrated Data Type and Process Specification Techniques. Technical report, TU Berlin, FB Informatik
Ehrig H, Orejas F, Braatz B, Klein M, Piirainen M (2002) A component framework based on high-level replacement systems. Proc. of GT-VMT 2002, Electronic Notes in Theoretical Computer Science, vol 72, no. 3, Elsevier Sciences
Ehrig H, Orejas F, Braatz B, Klein M, Piirainen M (2002) A Generic Component Framework for System Modeling. Proc. FASE 2002, LNCS, vol 2306. Springer, pp 33–48
Ehrig H, Pfender M, Schneider H (1973) Graph Grammars: An Algebraic Approach. In: Proc. SWAT ’73, pp 167–180
Fiadeiro JL, Lopes A (1997) Semantics of Architectural Connectors. In: Proc. TAPSOFT ’97, LNCS, vol 1214. Springer, pp 505–519
Grosse-Rhode M, Parisi Presicce F, Simeoni M (2000) Refinements of Graph Transformation Systems via Rule Expressions. In: Ehrig H, Engels G, Kreowski H-J, Rozenberg G (eds) Graph Grammars and their applications to Comp. Sci. 6th Internat. Workshop, (Selected Papers), Lect. Notes Comp. Sci., vol 1764. Springer-Verlag, pp 368–382
Grosse-Rhode M, Parisi Presicce F, Simeoni M (2001) Formal Software Specification with Refinement and Modules for Typed Graph Transformation Systems. In: Comput J. System Sci. 64(2):171–218
Heckel R, Corradini A, Ehrig H, Löwe M (1996) Horizontal and Vertical Structuring of Typed Graph Transformation Systems. MSCS 6:613–648
Heckel R, Engels G, Ehrig H, Taentzer G (1999) Classification and Comparison of Modularity Concepts for Graph Transformation Systems. In: Handbook of Graph Grammars and Computing by Graph Transformation. Vol 2: Applications, Languages and Tools. World Scientific, Singapore etc.
Klein M (2002) A Component Concept for System Modeling Based on High-Level Replacement Transformations. Diploma thesis, TU-Berlin, available at user.cs.tu-berlin.de/∼klein
Klein M, Özhan M, Piirainen M (2002) Iosip case study model files. Available at tfs.cs.tu-berlin.de/∼mesut/iosip/
Löwe M (1999) Evolution Patterns. In: Proc. Conf. on Systemics, Cybernetics and Informatics 1999, vol. II, pp 110–117
Mann S, Borusan B, Ehrig H, Grosse-Rhode M, Mackenthun R, Sünbül A, Weber H (2000) Towards a Component Concept for Continuous Software Engineering. FhG-ISST Report 55/00
Meseguer J, Montanari U (1990) Petri Nets are Monoids. In: Information and Computation, 88(2):105–155
Orejas F, Ehrig H (2003) Components for Algebra Transformation Systems. to appear in Proc. UNIGRA’03
Orejas F, Ehrig H, Pino E (2001) Tight and Loose Semantics for Transformation Systems. Recent Trends in Algebraic Development Techniques, LNCS, vol 2267. Springer, pp 238–255
Padberg J (1996) Abstract Petri Nets: A Uniform Approach and Rule-Based Refinement. PhD thesis, Technical University of Berlin, Dept. of Comp. Sci., Shaker Verlag
Padberg J, Ehrig H, Ribeiro L (1995) Algebraic High-Level Net Transformation Systems. Math. Struct. in Comp. Science 5:217–256, Cambridge Univ. Press
Padberg J, Hoffmann K, Buder M, Sünbül A (2001) Petri Net Modules for Component-Based Software Engineering. Technical Report, TU Berlin
Padberg J, Taentzer G (1993) Embedding of Derivations in High-Level Replacement Systems. Technical Report, TU Berlin
Rozenberg G (ed) (1997) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations. World Scientific
Simeoni M (2000) A Categorical Approach to Modularization of Graph Transformation Systems using Refinements. PhD thesis, Dip. di Scienze dell’Informazione, Università di Roma La Sapienza, Condensed version to appear in JCSS
Szyperski C (1997) Component Software – Beyond Object-Oriented Programming. Addison–Wesley
Weber H, Ehrig H (1986) Specification of Modular Systems. IEEE Trans. Software Eng. SE-12:784–798
Wermelinger M, Lopes A, Fiadeiro JL (2001) A Graph Based Architectural Reconfiguration Language. In: Proc. ESEC/FSE ’01, ACM Press
Zaremski AM, Wing JM (1997) Specification Matching of Software Components. In: ACM TOSEM ’97, pp 333–369
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ehrig, H., Orejas, F., Braatz, B. et al. A component framework for system modeling based on high-level replacement systems. Softw Syst Model 3, 114–135 (2004). https://doi.org/10.1007/s10270-003-0043-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-003-0043-9