George Justo - Academia.edu (original) (raw)

Papers by George Justo

Research paper thumbnail of EDPEPPS: A Graphical Environment for the Parallel Software Development Life-Cycle

Proc. of PDPTA '99, Intl. …, 1999

This paper describes an environment for performance-oriented design of portable parallel software... more This paper describes an environment for performance-oriented design of portable parallel software. The environment consists of a graphical design tool for building parallel algorithms, a state-of-the-art simulation engine, a CPU characterisation tool, a distributed debugging tool and a visualisation/replay tool. The environment is used to model a virtual machine composed of a cluster of heterogeneous high-performance workstations interconnected by a local area network. The simulation model used is modular and its components are interchangeable which allows easy re-con guration of the platform. The model is validated using experiments on two parallel Givens linear solver algorithms with average errors of about 8%.

Research paper thumbnail of Higher-Level Paradigms for Deadlock-Free High-Performance Sys-tems

This paper reviews the general notion of deadlock (and livelock) in parallel systems based upon s... more This paper reviews the general notion of deadlock (and livelock) in parallel systems based upon synchronised message passing and relates them to the much w orse problem of undetected data-loss in asynchronous or shared-memory communications.

Research paper thumbnail of On the serialisation of parallel programs

Research paper thumbnail of AGraphicalApproachtoPerformance-OrientedDevelopmentofParallelPrograms

Most of the methods proposed for the development of high-performance systems (HPS) do not balance... more Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineeringactivities. This paper presents a method for the developmentof HPS whichpromotes the production of well-engineered, highlyparallel programs the design decisions of which are also guided by their impact on performance. The method follows strong software engineering principlessuch as modularity, and the use of formal methods to support verification and transformation. From the point of view of performance engineering the method supports the use of prototypes for performance prediction at early stages of the development. Much of the method is languageandhardwareindependent,andthepaperillustrateshowthemethodwasadaptedtothedevelopmentofoccam programsrunningontransputers.

Research paper thumbnail of Configuration-oriented development of parallel programs

Thesis (Ph. D.)--University of Kent at Canterbury, 1993.

Research paper thumbnail of PVMGraph: A Graphical Editor For the Design of PVM Programs

This report describes PVMGraph, a graphical programming environment to support the design and imp... more This report describes PVMGraph, a graphical programming environment to support the design and implementation of parallel applications. PVMGraph offers a simple but yet expressive graphical representation for the components of a parallel application and assists the user in manipulating these components. PVMGraph also allows the evaluation of the application design and implementation. Although, PVMGraph graphical representation is general, its semantics is directed to PVM applications. This means that each graphical object is associated with a PVM/C segment of code. The description of PVMGraph is divided into two main parts: the design graphical representation (external view) and the implementation (textual) representation (internal view). The external view consists of an abstract view of components of a parallel application design, that is; the processes, their interfaces (behavioural description) and their interactions which are represented graphically. The internal view consists of...

Research paper thumbnail of Graphical Construction of Parallel Programs

Parallel programming is not difficult, as the programs build up their complex behaviours in a sim... more Parallel programming is not difficult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to form new networks. In this paper, we introduce a technique for the graphical construction of hierarchical networks (or configurations) of processes. The technique focuses on the concept of templates which define reusable patterns of communication and synchronisation for processes. We introduce a set of graphical rules based on the equivalence between processes, more specifically templates, and networks (configurations) of templates. The rules can be used to decompose networks of processes by substituting a single process for an equivalent sub-network of processes, or to abstract a sub-network of processes as a single process in order to simpl...

Research paper thumbnail of Visual Design and Animation of Dynamic Parallel and Distributed Software Architectures

Visual languages have been used for some time to support the development of parallel and distribu... more Visual languages have been used for some time to support the development of parallel and distributed programs. However, these languages usually tend to focus exclusively on the visual (program) design structure, in terms of the components (processes) and their interconnections represented as boxes and lines, or on the visual behaviour of the components represented as data or control flows, depicting a sequence of statements. Another limitation of most current languages is that they assume that the structure of the program design is static, where the number of components and their connections is known a priori. In this paper, we put forward an alternative visual language and a support toolset, which extends the traditional visual design structure with behavioural information, and at the same time allows the representation of dynamic design structures.

Research paper thumbnail of Serialisation as a paradigm for the engineering of parallel programs

ABSTRACT Without Abstract

Research paper thumbnail of Improving Performance With Serialisation

Proceedings. Second Euromicro Workshop on Parallel and Distributed Processing, 1994

ABSTRACT Not Available

Research paper thumbnail of Communication support for distributed multimedia components

Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing, 1999

Abstract The development of distributed multimedia applications has always been a challenge for b... more Abstract The development of distributed multimedia applications has always been a challenge for both expert and nonexpert developers. Middleware and supporting frameworks have emerged to simplify this process by providing reusable components that ...

Research paper thumbnail of Using Non-Functional Requirements to Select Components: A Formal Approach

Research paper thumbnail of Programming distributed systems with configuration languages

The importance of using languages to specify the structure of a system as a set of components and... more The importance of using languages to specify the structure of a system as a set of components and their interconnections separately from the functional description of the components has been widely recognised. These languages, sometimes called configuration languages, have a natural application in the description of the structural topology of concurrent and distributed systems. The design of these languages has focussed on developing simple declarative languages only for specification of the structure of the system. The authors present a different approach to configuration languages where they use them as a framework to exploit dynamic restructuring to give elegant and modular solutions to concurrent and distributed problems. They present the programming model CL, study its properties and give some examples. A run-time support for the implementation of the model is also presented

Research paper thumbnail of A role-based security architecture for business intelligence

Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34, 2000

... A cybernetic based model using the VSM (Viable System Model) [1,3] has been ... define an RBA... more ... A cybernetic based model using the VSM (Viable System Model) [1,3] has been ... define an RBAC model, which is appropriate for CODA-based business intelligence enterprise systems ... structure to help designers to add warehouse systems to existing operational databases using ...

Research paper thumbnail of A Graphical Approach to Performance-Oriented Development of Parallel Programs

Most of the methods proposed for the development of high-performance systems (HPS) do not balance... more Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineering activities. This paper presents a method for the development of HPS which promotes the production of well-engineered, highly parallel programs the design decisions of which are also guided by their impact on performance. The method follows strong software engineering principles such as modularity, and the use of formal methods to support verification and transformation. From the point of view of performance engineering the method supports the use of prototypes for performance prediction at early stages of the development. Much of the method is language and hardware independent, and the paper illustrates how the method was adapted to the development of occam programs running on transputers. 1 Introduction Many existing software engineering techniques which assist in the management of the complexity of serial programs are well-known and can be dire...

Research paper thumbnail of EDDEPPS: An Environment for Optimal Parallel Software Design

Research paper thumbnail of George Justo S C Winter

ion. An overview of the main window of PVMVis is illustrated in Figure 2, where each view is depi... more ion. An overview of the main window of PVMVis is illustrated in Figure 2, where each view is depicted. As illustrated in Figure 1, one of the main input files to PVMVis is the trace file whose format is based on Tape/PVM. In addition, PVMVis needs the graphical design representation of the application (PVMGL file) which is defined by PVMGraph. This file is necessary for the animation. Having completed the specification of PVMVis and the implementation of the first version of PVMGraph, it was then possible to start the implementation of PVMVis which is integrated with PVMGraph, and as described above, needs PVMGraph's PVMGL file. The graphical design view, which is the most important view, has been completed, and we are now working on the implementation of the other views. The implementation of this first version of PVMVis<F2

Research paper thumbnail of Incorporating Non-functional Requirements into Software Architectures

Lecture Notes in Computer Science, 2000

Abstract. The concept of softw are architecture has created a new sce-nario for incorporating non... more Abstract. The concept of softw are architecture has created a new sce-nario for incorporating non-functional and transactional requirements into the softw are design. Transactional and non-functional requirements can be included in an architecture-based softw are dev ...

Research paper thumbnail of A framework for building non-functional software architectures

Proceedings of the 2001 ACM symposium on Applied computing - SAC '01, 2001

Non-functional requirements ( NFRs ) are rarely taken in account in most software development pro... more Non-functional requirements ( NFRs ) are rarely taken in account in most software development processes. There exist reasons that can help us to understand why these requirements are not explicitly dealt with: their complexity, their usually informal statement, their high abstraction level, as well as the rare support of languages, methodologies and tools for them. In this paper, we introduce a framework for explicitly dealing with NFRs in the software development process. This framework addresses the description, integration with functional requirements, refinement and mapping of NFRs into actual implementation elements.

Research paper thumbnail of Modelling Organic Adaptable Service-Oriented Enterprise Architectures

Lecture Notes in Computer Science, 2003

Developing systems that are capable of monitoring and learning about themselves, and thereby rapi... more Developing systems that are capable of monitoring and learning about themselves, and thereby rapidly react to changes in their environment, has become essential to any enterprise. The search for solutions to this complex and challenging problem has stimulated both researchers and practitioners. This paper attempts to connect the views of the researchers and practitioners by relating the state-of-the-art approach proposed

Research paper thumbnail of EDPEPPS: A Graphical Environment for the Parallel Software Development Life-Cycle

Proc. of PDPTA '99, Intl. …, 1999

This paper describes an environment for performance-oriented design of portable parallel software... more This paper describes an environment for performance-oriented design of portable parallel software. The environment consists of a graphical design tool for building parallel algorithms, a state-of-the-art simulation engine, a CPU characterisation tool, a distributed debugging tool and a visualisation/replay tool. The environment is used to model a virtual machine composed of a cluster of heterogeneous high-performance workstations interconnected by a local area network. The simulation model used is modular and its components are interchangeable which allows easy re-con guration of the platform. The model is validated using experiments on two parallel Givens linear solver algorithms with average errors of about 8%.

Research paper thumbnail of Higher-Level Paradigms for Deadlock-Free High-Performance Sys-tems

This paper reviews the general notion of deadlock (and livelock) in parallel systems based upon s... more This paper reviews the general notion of deadlock (and livelock) in parallel systems based upon synchronised message passing and relates them to the much w orse problem of undetected data-loss in asynchronous or shared-memory communications.

Research paper thumbnail of On the serialisation of parallel programs

Research paper thumbnail of AGraphicalApproachtoPerformance-OrientedDevelopmentofParallelPrograms

Most of the methods proposed for the development of high-performance systems (HPS) do not balance... more Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineeringactivities. This paper presents a method for the developmentof HPS whichpromotes the production of well-engineered, highlyparallel programs the design decisions of which are also guided by their impact on performance. The method follows strong software engineering principlessuch as modularity, and the use of formal methods to support verification and transformation. From the point of view of performance engineering the method supports the use of prototypes for performance prediction at early stages of the development. Much of the method is languageandhardwareindependent,andthepaperillustrateshowthemethodwasadaptedtothedevelopmentofoccam programsrunningontransputers.

Research paper thumbnail of Configuration-oriented development of parallel programs

Thesis (Ph. D.)--University of Kent at Canterbury, 1993.

Research paper thumbnail of PVMGraph: A Graphical Editor For the Design of PVM Programs

This report describes PVMGraph, a graphical programming environment to support the design and imp... more This report describes PVMGraph, a graphical programming environment to support the design and implementation of parallel applications. PVMGraph offers a simple but yet expressive graphical representation for the components of a parallel application and assists the user in manipulating these components. PVMGraph also allows the evaluation of the application design and implementation. Although, PVMGraph graphical representation is general, its semantics is directed to PVM applications. This means that each graphical object is associated with a PVM/C segment of code. The description of PVMGraph is divided into two main parts: the design graphical representation (external view) and the implementation (textual) representation (internal view). The external view consists of an abstract view of components of a parallel application design, that is; the processes, their interfaces (behavioural description) and their interactions which are represented graphically. The internal view consists of...

Research paper thumbnail of Graphical Construction of Parallel Programs

Parallel programming is not difficult, as the programs build up their complex behaviours in a sim... more Parallel programming is not difficult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to form new networks. In this paper, we introduce a technique for the graphical construction of hierarchical networks (or configurations) of processes. The technique focuses on the concept of templates which define reusable patterns of communication and synchronisation for processes. We introduce a set of graphical rules based on the equivalence between processes, more specifically templates, and networks (configurations) of templates. The rules can be used to decompose networks of processes by substituting a single process for an equivalent sub-network of processes, or to abstract a sub-network of processes as a single process in order to simpl...

Research paper thumbnail of Visual Design and Animation of Dynamic Parallel and Distributed Software Architectures

Visual languages have been used for some time to support the development of parallel and distribu... more Visual languages have been used for some time to support the development of parallel and distributed programs. However, these languages usually tend to focus exclusively on the visual (program) design structure, in terms of the components (processes) and their interconnections represented as boxes and lines, or on the visual behaviour of the components represented as data or control flows, depicting a sequence of statements. Another limitation of most current languages is that they assume that the structure of the program design is static, where the number of components and their connections is known a priori. In this paper, we put forward an alternative visual language and a support toolset, which extends the traditional visual design structure with behavioural information, and at the same time allows the representation of dynamic design structures.

Research paper thumbnail of Serialisation as a paradigm for the engineering of parallel programs

ABSTRACT Without Abstract

Research paper thumbnail of Improving Performance With Serialisation

Proceedings. Second Euromicro Workshop on Parallel and Distributed Processing, 1994

ABSTRACT Not Available

Research paper thumbnail of Communication support for distributed multimedia components

Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing, 1999

Abstract The development of distributed multimedia applications has always been a challenge for b... more Abstract The development of distributed multimedia applications has always been a challenge for both expert and nonexpert developers. Middleware and supporting frameworks have emerged to simplify this process by providing reusable components that ...

Research paper thumbnail of Using Non-Functional Requirements to Select Components: A Formal Approach

Research paper thumbnail of Programming distributed systems with configuration languages

The importance of using languages to specify the structure of a system as a set of components and... more The importance of using languages to specify the structure of a system as a set of components and their interconnections separately from the functional description of the components has been widely recognised. These languages, sometimes called configuration languages, have a natural application in the description of the structural topology of concurrent and distributed systems. The design of these languages has focussed on developing simple declarative languages only for specification of the structure of the system. The authors present a different approach to configuration languages where they use them as a framework to exploit dynamic restructuring to give elegant and modular solutions to concurrent and distributed problems. They present the programming model CL, study its properties and give some examples. A run-time support for the implementation of the model is also presented

Research paper thumbnail of A role-based security architecture for business intelligence

Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34, 2000

... A cybernetic based model using the VSM (Viable System Model) [1,3] has been ... define an RBA... more ... A cybernetic based model using the VSM (Viable System Model) [1,3] has been ... define an RBAC model, which is appropriate for CODA-based business intelligence enterprise systems ... structure to help designers to add warehouse systems to existing operational databases using ...

Research paper thumbnail of A Graphical Approach to Performance-Oriented Development of Parallel Programs

Most of the methods proposed for the development of high-performance systems (HPS) do not balance... more Most of the methods proposed for the development of high-performance systems (HPS) do not balance the software and performance engineering activities. This paper presents a method for the development of HPS which promotes the production of well-engineered, highly parallel programs the design decisions of which are also guided by their impact on performance. The method follows strong software engineering principles such as modularity, and the use of formal methods to support verification and transformation. From the point of view of performance engineering the method supports the use of prototypes for performance prediction at early stages of the development. Much of the method is language and hardware independent, and the paper illustrates how the method was adapted to the development of occam programs running on transputers. 1 Introduction Many existing software engineering techniques which assist in the management of the complexity of serial programs are well-known and can be dire...

Research paper thumbnail of EDDEPPS: An Environment for Optimal Parallel Software Design

Research paper thumbnail of George Justo S C Winter

ion. An overview of the main window of PVMVis is illustrated in Figure 2, where each view is depi... more ion. An overview of the main window of PVMVis is illustrated in Figure 2, where each view is depicted. As illustrated in Figure 1, one of the main input files to PVMVis is the trace file whose format is based on Tape/PVM. In addition, PVMVis needs the graphical design representation of the application (PVMGL file) which is defined by PVMGraph. This file is necessary for the animation. Having completed the specification of PVMVis and the implementation of the first version of PVMGraph, it was then possible to start the implementation of PVMVis which is integrated with PVMGraph, and as described above, needs PVMGraph's PVMGL file. The graphical design view, which is the most important view, has been completed, and we are now working on the implementation of the other views. The implementation of this first version of PVMVis<F2

Research paper thumbnail of Incorporating Non-functional Requirements into Software Architectures

Lecture Notes in Computer Science, 2000

Abstract. The concept of softw are architecture has created a new sce-nario for incorporating non... more Abstract. The concept of softw are architecture has created a new sce-nario for incorporating non-functional and transactional requirements into the softw are design. Transactional and non-functional requirements can be included in an architecture-based softw are dev ...

Research paper thumbnail of A framework for building non-functional software architectures

Proceedings of the 2001 ACM symposium on Applied computing - SAC '01, 2001

Non-functional requirements ( NFRs ) are rarely taken in account in most software development pro... more Non-functional requirements ( NFRs ) are rarely taken in account in most software development processes. There exist reasons that can help us to understand why these requirements are not explicitly dealt with: their complexity, their usually informal statement, their high abstraction level, as well as the rare support of languages, methodologies and tools for them. In this paper, we introduce a framework for explicitly dealing with NFRs in the software development process. This framework addresses the description, integration with functional requirements, refinement and mapping of NFRs into actual implementation elements.

Research paper thumbnail of Modelling Organic Adaptable Service-Oriented Enterprise Architectures

Lecture Notes in Computer Science, 2003

Developing systems that are capable of monitoring and learning about themselves, and thereby rapi... more Developing systems that are capable of monitoring and learning about themselves, and thereby rapidly react to changes in their environment, has become essential to any enterprise. The search for solutions to this complex and challenging problem has stimulated both researchers and practitioners. This paper attempts to connect the views of the researchers and practitioners by relating the state-of-the-art approach proposed