INVESTIGADORES
LOPEZ POMBO Carlos Gustavo
congresos y reuniones científicas
Título:
Categorical Characterization of Structure Building Operations
Autor/es:
LOPEZ POMBO, CARLOS GUSTAVO; FRIAS, MARCELO FABIÁN
Lugar:
Salamanca
Reunión:
Workshop; Worshop on Algebraic Development Techniques; 2012
Resumen:
Modularity is a key concepts when aiming at good designs. In [1,2], Parnas extensively discusses how modular designs of software artifacts result in higher quality software by enabling reuse, separation of concerns and better maintain- ability. Since Parnas?s foundational work, practitioners build software artifacts (and particularly software specifications), modularly. In [3], Goguen and Burstall present a categorical formalization of the abstract model theory of a logic using the formalism of institutions. Institutions provide an abstract view of a logic that enables the study of properties of a formalism independently of notational issues. For instance, [4] surveys interesting results about well-known properties such as interpolation, within the framework of institutions. In [5], Sanella and Tarlecki provide a set of structure-building operations that enable the modular construction of specifications from theories taken from a given institution. In [6], Borzyszkowski presented a logical system for the structure building operations (SBOs) introduced by Sanella and Tarlecki, as well as an extensive discussion on the conditions under which the proposed calculus is complete. Intuitively we would like to consider structured specifications as syntactically sweetened ways of describing a system whose behavior is equivalent to a monolithic non-structured specification. This is not the case in the SBOs presented in [5]. Let us recall their definition: 1) a flat specification is assumed to be a legal structured specification, 2) the union of two structured specifications over the same signature is considered as a structured specification, 3) the translation over a morphism between signatures is a structured specification, and 4) the derivation (understood as the hiding of symbols) along a signature morphism is a structured specification. In Borzyszkowski?s work two operations are defined, Sig and Mod for the retrieval of the signature and the class of models of a structured specification, respectively. Both operations, defining the semantics of the structuring mechanism, are defined inductively on the structure of the specification. Therefore, in order to preserve the idea of structure as denotation, a question arises: Is it possible to define a function assigning a flat specification to every structured one? While the problem is easily solved (positively) for specifications built from unions and translations, the class of models resulting from hiding symbols is explained as the reducts of the models of a set of axioms described in terms of symbols that no longer belong to the language. Thus, the language is not necessarily able to syntactically describe the conditions needed to impose certain structure to the models. Assume the institution under observation is a first-order language with con- junction, and that derivations only take place on constant symbols. Thus, a derived structured specification denotes a flat specification in which those axioms stating properties of a constant symbol c are replaced by a single one where a variable xc is existentially quantified as follows: {Ax1(c),...,Axk(c)} → ∃xc(Ax1(xc)∧···∧Axk(xc)) . (1) This solution can be formalized by defining a family of endo institution representations [7] indexed by an appropriate subset of signature morphisms. Hiding symbols is the formal resource for stating that a certain function is to be considered private to a software module. Thus, for a technique as the one hinted in (1) to be useful, we should be able to quantify over function symbols. Higher-order logic give us a solution at the expense of missing an effective, sound and complete calculus. In this work, given an institution I, we solve the problem of properly defining a semantics for structured specifications in terms of flat ones, by representing the underlying institution in a more expressive one U in which first-order objects provide semantics for functions in I. References Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15(12) (1972) 1053?1058 See also [?]. Parnas, D.L.: Designing software for ease of extension and contraction. IEEE Transactions on Software Engineering 5(2) (1979) 128?138 See also [?]. Goguen, J.A., Burstall, R.M.: Introducing institutions. In Clarke, E.M., Kozen, D., eds.: Proceedings of the Carnegie Mellon Workshop on Logic of Programs. Volume 184 of Lecture Notes in Computer Science., Springer-Verlag (1984) 221?256 Tarlecki, A.: Bits and pieces of the theory of institutions. In Pitt, D.H., Abramsky, S., Poign ́e, A., Rydeheard, D.E., eds.: Proceedings of the Category Theory and Computer Programming, tutorial and workshop. Volume 240 of Lecture Notes in Computer Science., Springer-Verlag (1986) 334?363 Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and computation 76(2?3) (1988) 165?210 Borzyszkowski, T.: Completeness of a logical system for structured specifications. In Parisi-Presicce, F., ed.: Proceedings of the 12th. International Workshop on Recent Trends in Algebraic Development Techniques WADT 1997. Volume 1376 of Lecture Notes in Computer Science., Tarquinia, Italy, Springer-Verlag (June 1997) 107?121 Tarlecki, A.: Moving between logical systems. In Haveraaen, M., Owe, O., Dahl, O.J., eds.: Selected papers from the 11th Workshop on Specification of Abstract Data Types Joint with the 8th COMPASS Workshop on Recent Trends in Data Type Specification. Volume 1130 of Lecture Notes in Computer Science., Springer- Verlag (1996) 478?502