24 research outputs found

    Superposition: composition vs refinement of non-deterministic, action-based systems

    Full text link

    Towards a relational model for component interconnection

    Get PDF
    The basic motivation of component based development is to replace conventional programming by the composition of reusable off-the-shelf units, externally coordinated through a network of connecting devices, to achieve a common goal. This paper introduces a new relational model for software connectors and discusses some preliminary work on its implementation in HASKELL. The proposed model adopts a coordination point of view in order to deal with components’ temporal and spatial decoupling and, therefore, to provide support for looser levels of inter-component dependency and effective external control

    Architectural prototyping: from ccs to .net

    Get PDF
    Over the last decade, software architecture emerged as a critical issue in Software Engineering. This encompassed a shift from traditional programming towards software development based on the deployment and assembly of independent components. The specification of both the overall systems structure and the interaction patterns between their components became a major concern for the working developer. Although a number of formalisms to express behaviour and to supply the indispensable calculational power to reason about designs, are available, the task of deriving architectural designs on top of popular component platforms has remained largely informal. This paper introduces a systematic approach to derive, from CCS behavioural specifications the corresponding architectural skeletons in the Microsoft .Net framework, in the form of executable C and C# code. The prototyping process is fully supported by a specific tool developed in Haskell. Keywords: Software architecture; prototyping; CCS; Net framework, in the form of executable C# and Cω code. The prototyping process is fully supported by a specific tool developed in Haskell.Fundação para a Ciência e a Tecnologia (FCT

    A Synthesis of Business Role Models

    Get PDF
    Modern Information and Communication Technology open a door for innovations that can improve the functioning of companies. Many innovations can come from the analysis of business processes. Today modeling is widely used for the analysis of business processes. In these work we propose a process modeling technique based on role modeling. To specify a process where one business object may play several roles, a synthesis operation (the composition of two base roles in a third role) has to be specified. All role-based techniques have difficulties specifying role synthesis: synthesis is never specified without the description of actual messages passing between business roles. Such implementation details complicate the understanding of the model and semantics of synthesis become implicit. To specify a business process of a complex system at a higher level of abstraction requires the proper understanding of relationships between roles, when they are put together in one common context. In this paper we define the concept of synthesis constraints that shows relations between roles. Using synthesis constraints allows a business modeler to make explicit his decisions about how the synthesis is done in an abstract and implementation independent way. This approach can be used for building a BPR case tool that enables the discovery of new business processes by means of different disassembling and assembling of roles

    The Role of Synthesis Constraints in Role Modeling

    Get PDF
    To reuse existing specifications and increase the speed of development, modern development methods widely use design patterns and collaborations. Both, design patterns and collaborations, use the concept of role as a basic modeling concept. To specify models where one object may play several roles, a synthesis operation (the composition of two base roles in a third role) has to be specified. All role-based approaches have difficulties specifying role synthesis. As a consequence, synthesis is never specified without the description of the actual implementation of the synthesis. To specify synthesis at a higher level of abstraction, independent of implementation, requires the proper understanding of relationships between roles, when they are put together in one common context. In this paper we define the concept of synthesis constraints that shows relations between roles. We show how synthesis constraints can be used to specify the role synthesis operation. Using synthesis constraints allows a designer to make explicit his decisions about how the synthesis is done in an abstract and implementation independent way. Specifying synthesis with synthesis constraints is a powerful technique that can be used in many different domains, especially in business engineering. The use of roles allows a developer to specify separately certain concerns of a business system. This enables the discovery of new business models for a business system by means of different disassembling and assembling of roles

    A Graph Transformation Approach to Software Architecture Reconfiguration

    Get PDF
    The ability of reconfiguring software architectures in order to adapt them to new requirements or a changing environment has been of growing interest. We propose a uniform algebraic approach that improves on previous formal work in the area due to the following characteristics. First, components are written in a high-level program design language with the usual notion of state. Second, the approach deals with typical problems such as guaranteeing that new components are introduced in the correct state (possibly transferred from the old components they replace) and that the resulting architecture conforms to certain structural constraints. Third, reconfigurations and computations are explicitly related by keeping them separate. This is because the approach provides a semantics to a given architecture through the algebraic construction of an equivalent program, whose computations can be mirrored at the architectural level

    A perspective on service orchestration

    Get PDF
    Service-oriented computing is an emerging paradigm with increasing impact on the way modern software systems are designed and developed. Services are autonomous, loosely coupled and heterogeneous computational entities able to cooperate to achieve common goals. This paper introduces a model for service orchestration, which combines a exogenous coordination model, with services’ interfaces annotated with behavioural patterns specified in a process algebra which is parametric on the interaction discipline. The coordination model is a variant of Reo for which a new semantic model is proposed
    corecore