327 research outputs found
Category Theory and Model-Driven Engineering: From Formal Semantics to Design Patterns and Beyond
There is a hidden intrigue in the title. CT is one of the most abstract
mathematical disciplines, sometimes nicknamed "abstract nonsense". MDE is a
recent trend in software development, industrially supported by standards,
tools, and the status of a new "silver bullet". Surprisingly, categorical
patterns turn out to be directly applicable to mathematical modeling of
structures appearing in everyday MDE practice. Model merging, transformation,
synchronization, and other important model management scenarios can be seen as
executions of categorical specifications.
Moreover, the paper aims to elucidate a claim that relationships between CT
and MDE are more complex and richer than is normally assumed for "applied
mathematics". CT provides a toolbox of design patterns and structural
principles of real practical value for MDE. We will present examples of how an
elementary categorical arrangement of a model management scenario reveals
deficiencies in the architecture of modern tools automating the scenario.Comment: In Proceedings ACCAT 2012, arXiv:1208.430
Van Kampen Colimits and Path Uniqueness
Fibred semantics is the foundation of the model-instance pattern of software
engineering. Software models can often be formalized as objects of presheaf
topoi, i.e, categories of objects that can be represented as algebras as well
as coalgebras, e.g., the category of directed graphs. Multimodeling requires to
construct colimits of models, decomposition is given by pullback.
Compositionality requires an exact interplay of these operations, i.e.,
diagrams must enjoy the Van Kampen property. However, checking the validity of
the Van Kampen property algorithmically based on its definition is often
impossible.
In this paper we state a necessary and sufficient yet efficiently checkable
condition for the Van Kampen property to hold in presheaf topoi. It is based on
a uniqueness property of path-like structures within the defining congruence
classes that make up the colimiting cocone of the models. We thus add to the
statement "Being Van Kampen is a Universal Property" by Heindel and
Soboci\'{n}ski the fact that the Van Kampen property reveals a presheaf-based
structural uniqueness feature
A Language for Configuring Multi-level Specifications
This paper shows how systems can be built from their component parts with specified sharing. Its principle contribution is a modular language for configuring systems. A configuration is a description in the new language of how a system is constructed hierarchically from specifications of its component parts. Category theory has been used to represent the composition of specifications that share a component part by constructing colimits of diagrams. We reformulated this application of category theory to view both configured specifications and their diagrams as algebraic presentations of presheaves. The framework of presheaves leads naturally to a configuration language that expresses structuring from instances of specifications, and also incorporates a new notion of instance reduction to extract the component instances from a particular configuration. The language now expresses the hierarchical structuring of multi-level configured specifications. The syntax is simple because it is independent of any specification language; structuring a diagram to represent a configuration is simple because there is no need to calculate a colimit; and combining specifications is simple because structuring is by configuration morphisms with no need to flatten either specifications or their diagrams to calculate colimits
Modelling the GSM handover protocol in CommUnity
CommUnity is a formal approach to software architecture. It has a precise, yet intuitive mathematical semantics based on category theory. It supports, at the methodological level, a clear separation between computation, coordination, and distribution (including mobility). It provides a simple state-based language for describing component behaviour that is inspired by Unity and Interacting Processes. It also addresses composition as a first class concern and accounts for the emergence of global system properties from interconnections. This paper describes the approach and available tool support by modelling essential aspects of the GSM handover protocol. We also sketch a framework that we are implementing for the distributed execution of such specifications using Klava, a Java library for mobile agent systems based on tuple spaces
Conditions, constraints and contracts: on the use of annotations for policy modeling.
Organisational policies express constraints on generation and processing of resources. However, application domains rely on transformation processes, which are in principle orthogonal to policy specifications and domain rules and policies may evolve in a non-synchronised way. In previous papers, we have proposed annotations as a flexible way to model aspects of some policy, and showed how they could be used to impose constraints on domain configurations, how to derive application conditions on transformations, and how to annotate complex patterns. We extend the approach by: allowing domain model elements to be annotated with collections of elements, which can be collectively applied to individual resources or collections thereof; proposing an original construction to solve the problem of annotations remaining orphan , when annotated resources are consumed; introducing a notion of contract, by which a policy imposes additional pre-conditions and post-conditions on rules for deriving new resources. We discuss a concrete case study of linguistic resources, annotated with information on the licenses under which they can be used. The annotation framework allows forms of reasoning such as identifying conflicts among licenses, enforcing the presence of licenses, or ruling out some modifications of a licence configuration
Proper Functors and Fixed Points for Finite Behaviour
The rational fixed point of a set functor is well-known to capture the
behaviour of finite coalgebras. In this paper we consider functors on algebraic
categories. For them the rational fixed point may no longer be fully abstract,
i.e. a subcoalgebra of the final coalgebra. Inspired by \'Esik and Maletti's
notion of a proper semiring, we introduce the notion of a proper functor. We
show that for proper functors the rational fixed point is determined as the
colimit of all coalgebras with a free finitely generated algebra as carrier and
it is a subcoalgebra of the final coalgebra. Moreover, we prove that a functor
is proper if and only if that colimit is a subcoalgebra of the final coalgebra.
These results serve as technical tools for soundness and completeness proofs
for coalgebraic regular expression calculi, e.g. for weighted automata
A Graph-based Semantics For Object-oriented Programming Constructs
AbstractThis paper presents a graph-based formalism for object-oriented class structure specifications. The formalism combines labelled graphs with partial orders, to adequately model the (single) inheritance relation among objects and the overriding relation between methods within derived classes. The semantics of system extension by inheritance and aggregation is then defined as colimits in a suitable category of object-oriented system specifications and their morphisms
- …