A Galois connection is stated between a knowledge base and queries over this knowledge. Queries a... more A Galois connection is stated between a knowledge base and queries over this knowledge. Queries are stated as conjunctions. Both the knowledge and queries are represented by certain graphs. This Galois connection gives rise to lattices of pattern concepts implicitly contained in the theory (all derivable facts) over the knowledge base. The formal foundation for browsing such lattices and a realisation in terms of a prototype tool is outlined. Data types may be assigned to individual columns of tables in the database. A type assignment corresponds to an extension of the query language and incorporates additional knowledge into the process of concept creation. Type and derivation support in the tool may be provided by pluggable modules. In the examples in this paper, only the numeric type and concrete, stored relations are featured.
Julian Edwards, Object Oriented Pty Ltd., Australia Doug Grant, Swinburne University of Technolog... more Julian Edwards, Object Oriented Pty Ltd., Australia Doug Grant, Swinburne University of Technology, Australia Brian Henderson-Sellers, Swinburne University of Technology, Australia John Hosking, Auckland University, New Zealand Shaoying Liu, Hiroshima City University, Japan Ian Mathieson, CS1R0, Australia James McKim, Hartford Graduate Center, USA Bertrand Meyer, ISE., Santa Barbara, USA Christine Mingins, Monash University, Australia Sita Ramakrishnan, Monash University, Australia Heinz Schmidt, Monash University, Australia ...
Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, 2017
The goal of this paper is to provide a literature review of gender diversity aspects within the f... more The goal of this paper is to provide a literature review of gender diversity aspects within the field of Software Architecture (SA). The attempt of conducting a systematic literature review led to an interesting result: there are almost no papers to review. Only one article was published within this field. To analyse the situation we made the search broader and conducted a systematic literature review on gender diversity aspects within Software Engineering (SE) in general. For the second review we found a reasonable number of studies. We identified that the majority of the publications on gender diversity aspects within SE were focused not on analysis of state-of-the art in industry and industrial or SA research experiences, but on teaching aspects and on attracting female students to study STEM (Science, Technology, Engineering, and Mathematics) courses. This highly motivates further research on the role of women in SA.
Many cyber-physical systems operate together with others and with humans in a joint physical spac... more Many cyber-physical systems operate together with others and with humans in a joint physical space. Because of their operation in proximity to humans, they have to operate according to very high safety standards. This chapter presents a method for developing the control software of cyber-physical systems. The method is model-based and assists engineers with spatial and real-time property verification. In particular, the authors describe a toolchain consisting of the model-based development toolset Reactive Blocks, the spatial analyzer BeSpaceD in conjunction with the real-time model checkers UPPAAL and PRISM. The combination of these tools makes it possible to create models of the control software and, if necessary, simulators for the actual system behavior with Reactive Blocks. These models can then be checked for various correctness properties using the analysis tools. If all properties are fulfilled, Reactive Blocks transforms the models automatically into executable code.
This paper presents an approach towards intelligent route planning in public transport systems. T... more This paper presents an approach towards intelligent route planning in public transport systems. The approach focuses on formal modelling of the semi-dynamic intelligent route planning and optimisation. For these purposes, it is essential to have a well developed formal model covering real-time and space aspects. The proposed solution allows designers to extend a public transport system with additional routes, which are created dynamically based on the requests from passengers. The model can be applied within a sustainable Smart City both for (fully or partially) autonomous transport systems and for the decision support systems of a smart transport system.
Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA), 2014
We present work towards using ontological information to facilitate collaborative tasks during op... more We present work towards using ontological information to facilitate collaborative tasks during operation, maintenance and service of industrial automation facilities. We use semantic models as an additional layer for a collaboration framework to enable automatic reasoning, decision support and knowledge sharing among multiple parties. Documents such as texts, workflows, images, social media profiles or models of production plants can be semantically annotated to facilitate their ontological classification. Our semantic models comprise behavior and space information, as well as links between documents and from documents to external data collections, such as logs, tables and sensor data. Our semantic models can be used to check consistency, confidentiality and security properties and to support collaborative tasks.
The deployment of component oriented software approaches gains increasing importance in the compu... more The deployment of component oriented software approaches gains increasing importance in the computational sciences. Not only the promised increase of reuse makes components attractive, but also the possibilities of integrating different stand-alone programs into a distributed application. Middleware platforms facilitate the development of distributed applications by providing services and infrastructure. Component developers can thus benefit from a common standard to shape components towards and application designers from using prefabricated software components and shared platform services. Although such platforms claim to achieve fast and flexible development of distributed systems, they fall short in key requirements to reliability and interoperability in loosely coupled distributed systems. For example, many interoperability errors remain undetected during development and the adaptation and integration of of third-party components still requires major effort and cost. Partly this problem can be alleviated by the use of formal approaches to automatic interoperability checks and component adaptation. Our Reliable Architecture Description Language (RADL) is aimed at precisely this problem. In this paper we present key aspects of RADL used to specify component-based, compositional views of distributed applications. RADL involves a rich component model, enabling protocol information to be contained in interfaces. We focus on protocol-based notions of interoperability and adaptation, important for the construction of distributed systems with loosely coupled components.
Radical Innovations of Software and Systems Engineering in the Future, 2004
The software architect is concerned with both functional and nonfunctional design. An important t... more The software architect is concerned with both functional and nonfunctional design. An important task in functional design is the adaptation of a component's provided interface for use by other components. In non-functional analysis the focus is rather on the prediction and reasoning about reliability and performance properties. We present a method for automatic adaptation, based upon parameterised contracts. This concept extends the notion of design-by-contract from precondition, postcondition and invariant assertions on objects to dynamic protocol descriptions for required and provided interfaces of components. We introduce a novel state machine based model, called dependent finite state machines (DFSMs), and show how DFSMs provide a natural framework for both automatic component adaptation and computational reasoning about timing properties of components and architectures. We use the well-known production cell example for demonstrating our architectural description language.
Software architectural description languages (ADLs) are used to specify a high-level, composition... more Software architectural description languages (ADLs) are used to specify a high-level, compositional view of a software application, defining how a system is to be composed from coarse-grain components. ADLs usually come equipped with a rigourous state-transition style semantics, enabling formal understanding of distributed and event-based systems [6]. However, additional expressive power is required for the description and understanding of enterprise-scale software architecturesin particular, those built upon newer middleware, such as implementations of Java's EJB specification [2] or Microsoft's COM+/.NET [8]. Such middleware provides additional functionality to a configuration of components, by means of a context-based interception model [12]. We explore an ADL that can define architectures built upon such middleware. In this paper, we focus on modelling transactional architectures built on COM+ middleware.
Using probabilities in the formal-methods-based development of safety-critical software has quick... more Using probabilities in the formal-methods-based development of safety-critical software has quick-ened interests in academia and industry. We address this area by our model-driven engineering method for reactive systems SPACE and its tool-set Reactive Blocks that provide an extension to support the modeling and verification of real-time behaviors. The approach facilitates the compo-sition of system models from reusable building blocks as well as the verification of functional and real-time properties and the automatic generation of Java code. In this paper, we describe the extension of the tool-set to enable the modeling and verification of probabilistic real-time system behavior with the focus on spatial properties that ensure system safety. In particular, we incorporate descriptions of probabilistic behavior into our Reactive Blocks models and integrate the model checker PRISM which allows to verify that a real-time system satis-fies certain safety properties with a given probabil...
Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of the... more Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of these languages. At the same time it can contribute to ine ciency and lack o f robustness because it incurs lookup overheads on function calls and hinders the compiler determining the exact type of objects held in variables or returned by functions. This may, for instance, preclude inlining of small functions or attribute o set computation at compile time. Yet attribute accesses are the most frequently executed operations. As a result, to regain lost performance, OO programmers are tempted to break the encapsulation of classes or want explicit control over dynamic dispatch, trading o extensibility. In the implementation of parallel object-oriented languages the additional complication arises that object accesses may require more expensive remote memory accesses. Lookup at the call may be inappropriate if the code has to be executed on a di erent processor and there perhaps has a di erent address. This paper summarizes dispatching as addressed in several modern object-oriented languages. We then describe and benchmark fast and exible dispatch s c hemes that we are currently implementing on SPARC based workstations and multi-processors. These involve elements of C++ virtual function tables and Ei el's and Sather's ability to rede ne abstract functions as attributes. Initial benchmarks seem to promise improved e ciency on a range of modern RISC based architectures.
Trends such as Industrial Internet of Things (IIoT) and Industry 4.0 have increased the need to u... more Trends such as Industrial Internet of Things (IIoT) and Industry 4.0 have increased the need to use powerfull network technologies in industrial automation. The growing communication in industrial automation is harnessing the productivity and efficiency of manufacturing and process automation with minimum human intervention. Due to the ongoing evolution of industrial networks from Fieldbus technologies to Ethernet, the new opportunity has emerged to integrate the Software Defined Networking (SDN) technique. In this paper, we provide a brief overview of SDN in the domain of industrial automation. We propose a network architecture called Software Defined Industrial Automation Network (SDIAN), with the objective of improving network scalability and efficiency. To match the specific considerations and requirements of having a deterministic system in an industrial network, we propose two solutions for flow creation: Pro-active Flow Installation Scheme (PFIS) and Hybrid Flow-Installation ...
SKU. This paper reviews requirements analysis paradigms from the 1980s through 2008. We conclude ... more SKU. This paper reviews requirements analysis paradigms from the 1980s through 2008. We conclude by examining more formal paradigms object-oriented, goal Balzer investigated a software paradigm based on automation, which would. 1983: 1 conceptual design 2 logical design 3 validation and 4 formal Systems design-Wikipedia, the free encyclopedia Covers object-oriented design of software from requirements analysis to design,. requirements analysis and logical design: a software engineering approach. Object-Oriented Requirements Analysis and Logical Design Object-oriented Requirements, Analysis and Logical Design: a. Object-Oriented Requirements Analysis and Logical Design: A Software Engineering Approach Book shows a small amount of wear-very good condition. Object-oriented Requirements Analysis and Logical Design: A Software Engineering Approach by Donald G. Firesmith, 9780471578062, available at Book From Object-Oriented to Goal-Oriented Object-Oriented Requirements Analysis and Logical Design: A. Object-oriented requirements analysis and logical design: a software engineering. G. R. Lowry, E. E. Doroshenko, Object-Orientation in Software Engineering approach to combining requirements definition and object-oriented analysis, Role of Object-Oriented Analysis and Design OOAD.
Fifth International Conference on Quality Software (QSIC'05), 2000
This paper presents an improvement to existing class test ordering stategies by including couplin... more This paper presents an improvement to existing class test ordering stategies by including coupling measures to reduce non-determinism and decrease the number of stubs to be produced. Our novel strategy aims to lift the known methods from class hierarchies to component-based product lines in which so-called connectors between components are key entities for structuring, assembling and integrating software architectures, and in which tighter coupling of classes inside components and looser coupling between classes in different components are fundamental to component-based architecture composition. The paper also evaluates the new method and confirms the expected reductions in the number of stubs generated and the improved test ordering. Two recent test order strategies for C++ are compared with our novel approach through experiments conducted on two mini product lines written in Java. The new proposed test ordering strategy is more deterministic through measuring coupling, which is at the heart of component-based product line architectures.
One of the fundamental differences between AI research and conventional computerscience (such as ... more One of the fundamental differences between AI research and conventional computerscience (such as software engineering and database technology) is that AIhas its own established programming methodology. Rule-based programming hasbeen dominant for AI research and applications. However, there are a number ofinherent problems with existing rule-based programming systems and tools. Mostnotably, they are inefficient in structural representation, and rules in general
Enterprise Architecture deals with the structure of an enterprise, relationships and interactions... more Enterprise Architecture deals with the structure of an enterprise, relationships and interactions of its units. It provides a holistic approach to reconcile IT and Business concerns in an enterprise. Virtual Enterprises are collaborative ad-hoc alliances of multiple enterprises for a specific business opportunity. First we discuss both paradigms and then the Enterprise Architecture viewpoint of Virtual Enterprise and provide a definition of Virtual Enterprise, Enterprise Architecture and Virtual Enterprise Architecture. This paper surveys research into formal models of Virtual Enterprise Architecture (modelling languages, reference models, architecture frameworks) and identifies current gaps in this research.
A Galois connection is stated between a knowledge base and queries over this knowledge. Queries a... more A Galois connection is stated between a knowledge base and queries over this knowledge. Queries are stated as conjunctions. Both the knowledge and queries are represented by certain graphs. This Galois connection gives rise to lattices of pattern concepts implicitly contained in the theory (all derivable facts) over the knowledge base. The formal foundation for browsing such lattices and a realisation in terms of a prototype tool is outlined. Data types may be assigned to individual columns of tables in the database. A type assignment corresponds to an extension of the query language and incorporates additional knowledge into the process of concept creation. Type and derivation support in the tool may be provided by pluggable modules. In the examples in this paper, only the numeric type and concrete, stored relations are featured.
Julian Edwards, Object Oriented Pty Ltd., Australia Doug Grant, Swinburne University of Technolog... more Julian Edwards, Object Oriented Pty Ltd., Australia Doug Grant, Swinburne University of Technology, Australia Brian Henderson-Sellers, Swinburne University of Technology, Australia John Hosking, Auckland University, New Zealand Shaoying Liu, Hiroshima City University, Japan Ian Mathieson, CS1R0, Australia James McKim, Hartford Graduate Center, USA Bertrand Meyer, ISE., Santa Barbara, USA Christine Mingins, Monash University, Australia Sita Ramakrishnan, Monash University, Australia Heinz Schmidt, Monash University, Australia ...
Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, 2017
The goal of this paper is to provide a literature review of gender diversity aspects within the f... more The goal of this paper is to provide a literature review of gender diversity aspects within the field of Software Architecture (SA). The attempt of conducting a systematic literature review led to an interesting result: there are almost no papers to review. Only one article was published within this field. To analyse the situation we made the search broader and conducted a systematic literature review on gender diversity aspects within Software Engineering (SE) in general. For the second review we found a reasonable number of studies. We identified that the majority of the publications on gender diversity aspects within SE were focused not on analysis of state-of-the art in industry and industrial or SA research experiences, but on teaching aspects and on attracting female students to study STEM (Science, Technology, Engineering, and Mathematics) courses. This highly motivates further research on the role of women in SA.
Many cyber-physical systems operate together with others and with humans in a joint physical spac... more Many cyber-physical systems operate together with others and with humans in a joint physical space. Because of their operation in proximity to humans, they have to operate according to very high safety standards. This chapter presents a method for developing the control software of cyber-physical systems. The method is model-based and assists engineers with spatial and real-time property verification. In particular, the authors describe a toolchain consisting of the model-based development toolset Reactive Blocks, the spatial analyzer BeSpaceD in conjunction with the real-time model checkers UPPAAL and PRISM. The combination of these tools makes it possible to create models of the control software and, if necessary, simulators for the actual system behavior with Reactive Blocks. These models can then be checked for various correctness properties using the analysis tools. If all properties are fulfilled, Reactive Blocks transforms the models automatically into executable code.
This paper presents an approach towards intelligent route planning in public transport systems. T... more This paper presents an approach towards intelligent route planning in public transport systems. The approach focuses on formal modelling of the semi-dynamic intelligent route planning and optimisation. For these purposes, it is essential to have a well developed formal model covering real-time and space aspects. The proposed solution allows designers to extend a public transport system with additional routes, which are created dynamically based on the requests from passengers. The model can be applied within a sustainable Smart City both for (fully or partially) autonomous transport systems and for the decision support systems of a smart transport system.
Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA), 2014
We present work towards using ontological information to facilitate collaborative tasks during op... more We present work towards using ontological information to facilitate collaborative tasks during operation, maintenance and service of industrial automation facilities. We use semantic models as an additional layer for a collaboration framework to enable automatic reasoning, decision support and knowledge sharing among multiple parties. Documents such as texts, workflows, images, social media profiles or models of production plants can be semantically annotated to facilitate their ontological classification. Our semantic models comprise behavior and space information, as well as links between documents and from documents to external data collections, such as logs, tables and sensor data. Our semantic models can be used to check consistency, confidentiality and security properties and to support collaborative tasks.
The deployment of component oriented software approaches gains increasing importance in the compu... more The deployment of component oriented software approaches gains increasing importance in the computational sciences. Not only the promised increase of reuse makes components attractive, but also the possibilities of integrating different stand-alone programs into a distributed application. Middleware platforms facilitate the development of distributed applications by providing services and infrastructure. Component developers can thus benefit from a common standard to shape components towards and application designers from using prefabricated software components and shared platform services. Although such platforms claim to achieve fast and flexible development of distributed systems, they fall short in key requirements to reliability and interoperability in loosely coupled distributed systems. For example, many interoperability errors remain undetected during development and the adaptation and integration of of third-party components still requires major effort and cost. Partly this problem can be alleviated by the use of formal approaches to automatic interoperability checks and component adaptation. Our Reliable Architecture Description Language (RADL) is aimed at precisely this problem. In this paper we present key aspects of RADL used to specify component-based, compositional views of distributed applications. RADL involves a rich component model, enabling protocol information to be contained in interfaces. We focus on protocol-based notions of interoperability and adaptation, important for the construction of distributed systems with loosely coupled components.
Radical Innovations of Software and Systems Engineering in the Future, 2004
The software architect is concerned with both functional and nonfunctional design. An important t... more The software architect is concerned with both functional and nonfunctional design. An important task in functional design is the adaptation of a component's provided interface for use by other components. In non-functional analysis the focus is rather on the prediction and reasoning about reliability and performance properties. We present a method for automatic adaptation, based upon parameterised contracts. This concept extends the notion of design-by-contract from precondition, postcondition and invariant assertions on objects to dynamic protocol descriptions for required and provided interfaces of components. We introduce a novel state machine based model, called dependent finite state machines (DFSMs), and show how DFSMs provide a natural framework for both automatic component adaptation and computational reasoning about timing properties of components and architectures. We use the well-known production cell example for demonstrating our architectural description language.
Software architectural description languages (ADLs) are used to specify a high-level, composition... more Software architectural description languages (ADLs) are used to specify a high-level, compositional view of a software application, defining how a system is to be composed from coarse-grain components. ADLs usually come equipped with a rigourous state-transition style semantics, enabling formal understanding of distributed and event-based systems [6]. However, additional expressive power is required for the description and understanding of enterprise-scale software architecturesin particular, those built upon newer middleware, such as implementations of Java's EJB specification [2] or Microsoft's COM+/.NET [8]. Such middleware provides additional functionality to a configuration of components, by means of a context-based interception model [12]. We explore an ADL that can define architectures built upon such middleware. In this paper, we focus on modelling transactional architectures built on COM+ middleware.
Using probabilities in the formal-methods-based development of safety-critical software has quick... more Using probabilities in the formal-methods-based development of safety-critical software has quick-ened interests in academia and industry. We address this area by our model-driven engineering method for reactive systems SPACE and its tool-set Reactive Blocks that provide an extension to support the modeling and verification of real-time behaviors. The approach facilitates the compo-sition of system models from reusable building blocks as well as the verification of functional and real-time properties and the automatic generation of Java code. In this paper, we describe the extension of the tool-set to enable the modeling and verification of probabilistic real-time system behavior with the focus on spatial properties that ensure system safety. In particular, we incorporate descriptions of probabilistic behavior into our Reactive Blocks models and integrate the model checker PRISM which allows to verify that a real-time system satis-fies certain safety properties with a given probabil...
Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of the... more Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of these languages. At the same time it can contribute to ine ciency and lack o f robustness because it incurs lookup overheads on function calls and hinders the compiler determining the exact type of objects held in variables or returned by functions. This may, for instance, preclude inlining of small functions or attribute o set computation at compile time. Yet attribute accesses are the most frequently executed operations. As a result, to regain lost performance, OO programmers are tempted to break the encapsulation of classes or want explicit control over dynamic dispatch, trading o extensibility. In the implementation of parallel object-oriented languages the additional complication arises that object accesses may require more expensive remote memory accesses. Lookup at the call may be inappropriate if the code has to be executed on a di erent processor and there perhaps has a di erent address. This paper summarizes dispatching as addressed in several modern object-oriented languages. We then describe and benchmark fast and exible dispatch s c hemes that we are currently implementing on SPARC based workstations and multi-processors. These involve elements of C++ virtual function tables and Ei el's and Sather's ability to rede ne abstract functions as attributes. Initial benchmarks seem to promise improved e ciency on a range of modern RISC based architectures.
Trends such as Industrial Internet of Things (IIoT) and Industry 4.0 have increased the need to u... more Trends such as Industrial Internet of Things (IIoT) and Industry 4.0 have increased the need to use powerfull network technologies in industrial automation. The growing communication in industrial automation is harnessing the productivity and efficiency of manufacturing and process automation with minimum human intervention. Due to the ongoing evolution of industrial networks from Fieldbus technologies to Ethernet, the new opportunity has emerged to integrate the Software Defined Networking (SDN) technique. In this paper, we provide a brief overview of SDN in the domain of industrial automation. We propose a network architecture called Software Defined Industrial Automation Network (SDIAN), with the objective of improving network scalability and efficiency. To match the specific considerations and requirements of having a deterministic system in an industrial network, we propose two solutions for flow creation: Pro-active Flow Installation Scheme (PFIS) and Hybrid Flow-Installation ...
SKU. This paper reviews requirements analysis paradigms from the 1980s through 2008. We conclude ... more SKU. This paper reviews requirements analysis paradigms from the 1980s through 2008. We conclude by examining more formal paradigms object-oriented, goal Balzer investigated a software paradigm based on automation, which would. 1983: 1 conceptual design 2 logical design 3 validation and 4 formal Systems design-Wikipedia, the free encyclopedia Covers object-oriented design of software from requirements analysis to design,. requirements analysis and logical design: a software engineering approach. Object-Oriented Requirements Analysis and Logical Design Object-oriented Requirements, Analysis and Logical Design: a. Object-Oriented Requirements Analysis and Logical Design: A Software Engineering Approach Book shows a small amount of wear-very good condition. Object-oriented Requirements Analysis and Logical Design: A Software Engineering Approach by Donald G. Firesmith, 9780471578062, available at Book From Object-Oriented to Goal-Oriented Object-Oriented Requirements Analysis and Logical Design: A. Object-oriented requirements analysis and logical design: a software engineering. G. R. Lowry, E. E. Doroshenko, Object-Orientation in Software Engineering approach to combining requirements definition and object-oriented analysis, Role of Object-Oriented Analysis and Design OOAD.
Fifth International Conference on Quality Software (QSIC'05), 2000
This paper presents an improvement to existing class test ordering stategies by including couplin... more This paper presents an improvement to existing class test ordering stategies by including coupling measures to reduce non-determinism and decrease the number of stubs to be produced. Our novel strategy aims to lift the known methods from class hierarchies to component-based product lines in which so-called connectors between components are key entities for structuring, assembling and integrating software architectures, and in which tighter coupling of classes inside components and looser coupling between classes in different components are fundamental to component-based architecture composition. The paper also evaluates the new method and confirms the expected reductions in the number of stubs generated and the improved test ordering. Two recent test order strategies for C++ are compared with our novel approach through experiments conducted on two mini product lines written in Java. The new proposed test ordering strategy is more deterministic through measuring coupling, which is at the heart of component-based product line architectures.
One of the fundamental differences between AI research and conventional computerscience (such as ... more One of the fundamental differences between AI research and conventional computerscience (such as software engineering and database technology) is that AIhas its own established programming methodology. Rule-based programming hasbeen dominant for AI research and applications. However, there are a number ofinherent problems with existing rule-based programming systems and tools. Mostnotably, they are inefficient in structural representation, and rules in general
Enterprise Architecture deals with the structure of an enterprise, relationships and interactions... more Enterprise Architecture deals with the structure of an enterprise, relationships and interactions of its units. It provides a holistic approach to reconcile IT and Business concerns in an enterprise. Virtual Enterprises are collaborative ad-hoc alliances of multiple enterprises for a specific business opportunity. First we discuss both paradigms and then the Enterprise Architecture viewpoint of Virtual Enterprise and provide a definition of Virtual Enterprise, Enterprise Architecture and Virtual Enterprise Architecture. This paper surveys research into formal models of Virtual Enterprise Architecture (modelling languages, reference models, architecture frameworks) and identifies current gaps in this research.
Uploads
Papers by Heinz Schmidt