@article {12834,
	title = {Executable Specifications for Real-Time Distributed Systems},
	journal = {Electronic Notes in Theoretical Computer Science},
	volume = {203},
	year = {2008},
	month = {2008/06/05/},
	pages = {3 - 17},
	abstract = {One of the challenges in designing distributed, embedded systems is the paucity of formal, executable specification notations that provide support for both real-time and asynchronous communication. This paper describes a timed architecture design language (Timed Architecture Interaction Diagrams or TAID) that, by virtue of its formal, executable semantics, combines the benefits of synchronous specification notations with the advantages of traditional architecture description languages. In addition, TAID provides support for a variety of temporal inter-process communication (IPC) primitives as a native feature of the language, so that the encapsulated communication behavior (captured by real-time {\^a}{\texteuro}{\oe}buses{\^a}{\texteuro} in TAID) may be re-used across designs and serve as specifications for more detailed model implementations.},
	keywords = {distributed systems, Formal Methods, real-time, Simulations, Software architecture},
	isbn = {1571-0661},
	doi = {10.1016/j.entcs.2008.05.007},
	url = {http://www.sciencedirect.com/science/article/pii/S1571066108003216},
	author = {Ray,Arnab and Cleaveland, Rance}
}
@conference {12830,
	title = {A Software Architectural Approach to Security by Design},
	booktitle = {Computer Software and Applications Conference, 2006. COMPSAC {\textquoteright}06. 30th Annual International},
	volume = {2},
	year = {2006},
	month = {2006/09/17/21},
	pages = {83 - 86},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {This paper shows how an architecture description notation that has support for timed events can be used to provide a meta-language for specifying exact communication semantics. The advantages of such an approach is that a designer is made fully aware of the ramifications of her design choices so that an attacker can no longer take advantage of hidden assumptions},
	keywords = {architecture description notation, Clocks, communication semantics, Computer architecture, computer crime, computer security, Connectors, Costs, Degradation, Delay, Educational institutions, security design, security of data, Software architecture, software engineering},
	isbn = {0-7695-2655-1},
	doi = {10.1109/COMPSAC.2006.102},
	author = {Ray,A. and Cleaveland, Rance}
}
@article {12805,
	title = {Formal Modeling Of Middleware-based Distributed Systems},
	journal = {Electronic Notes in Theoretical Computer Science},
	volume = {108},
	year = {2004},
	month = {2004/12/13/},
	pages = {21 - 37},
	abstract = {Effective design of middleware-based systems requires modeling notations that allow the use of process-interaction schemes provided by different middleware packages directly in designs. Traditional design notations typically only support a fixed class of interprocess interaction schemes, and designers wishing to use them for modeling middleware-based systems must devote significant effort to encoding the middleware primitives in the notation. In this paper, we demonstrate how a new graphical design notation, Architectural Interaction Diagrams (AIDs), which provides parameterized support for different interaction schemes, may be used to model a real-life middleware-based system like the Event Heap coordination infrastructure of the i-Room ubiquitous computing environment.},
	keywords = {distributed systems, Formal Methods, Middleware, Software architecture},
	isbn = {1571-0661},
	doi = {10.1016/j.entcs.2004.01.010},
	url = {http://www.sciencedirect.com/science/article/pii/S1571066104051989},
	author = {Ray,Arnab and Cleaveland, Rance}
}
@conference {18689,
	title = {Proteus: a flexible infrastructure to implement adaptive fault tolerance in AQuA},
	year = {1999},
	month = {1999/11//},
	pages = {149 - 168},
	abstract = {Building dependable distributed systems from commercial off-the-shelf components is of growing practical importance. For both cost and production reasons, there is interest in approaches and architectures that facilitate building such systems. The AQuA architecture is one such approach; its goal is to provide adaptive fault tolerance to CORBA applications by replicating objects, providing a high-level method for applications to specify their desired dependability, and providing a dependability manager that attempts to reconfigure a system at runtime so that dependability requests are satisfied. This paper describes how dependability is provided in AQuA. In particular it describes Proteus, the part of AQuA that dynamically manages replicated distributed objects to make them dependable. Given a dependability request, Proteus chooses a fault tolerance approach and reconfigures the system to try to meet the request. The infrastructure of Proteus is described in this paper, along with its use in implementing active replication and a simple dependability policy},
	keywords = {adaptive fault tolerance, AQuA, commercial off-the-shelf components, CORBA applications, cost, dependable distributed systems, distributed object management, object replication, proteus, reconfigurable architectures, Runtime, Software architecture, software fault tolerance},
	doi = {10.1109/DCFTS.1999.814294},
	author = {Sabnis,C. and Michel Cukier and Ren,J. and Rubel,P. and Sanders,W. H. and Bakken,D. E. and Karr,D.}
}
@article {17485,
	title = {Visual and textual consistency checking tools for graphical user interfaces},
	journal = {IEEE Transactions on Software Engineering},
	volume = {23},
	year = {1997},
	month = {1997/11//},
	pages = {722 - 735},
	abstract = {Designing user interfaces with consistent visual and textual properties is difficult. To demonstrate the harmful effects of inconsistency, we conducted an experiment with 60 subjects. Inconsistent interface terminology slowed user performance by 10 to 25 percent. Unfortunately, contemporary software tools provide only modest support for consistency control. Therefore, we developed SHERLOCK, a family of consistency analysis tools, which evaluates visual and textual properties of user interfaces. It provides graphical analysis tools such as a dialog box summary table that presents a compact overview of visual properties of all dialog boxes. SHERLOCK provides terminology analysis tools including an interface concordance, an interface spellchecker, and terminology baskets to check for inconsistent use of familiar groups of terms. Button analysis tools include a button concordance and a button layout table to detect variant capitalization, distinct typefaces, distinct colors, variant button sizes, and inconsistent button placements. We describe the design, software architecture, and the use of SHERLOCK. We tested SHERLOCK with four commercial prototypes. The outputs, analysis, and feedback from designers of the applications are presented},
	keywords = {button analysis tools, Color, dialog box summary table, experiment, graphical analysis tools, Graphical user interfaces, human factors, inconsistent interface terminology, interface color, interface spell checker, Output feedback, Prototypes, SHERLOCK, Software architecture, Software design, software metrics, software prototyping, software tools, Terminology, terminology analysis tools, Testing, textual consistency checking tools, user interface management systems, User interfaces, user performance, visual consistency checking tools},
	isbn = {0098-5589},
	doi = {10.1109/32.637386},
	author = {Mahajan,R. and Shneiderman, Ben}
}
@article {16795,
	title = {Performance comparison of three modern DBMS architectures},
	journal = {IEEE Transactions on Software Engineering},
	volume = {19},
	year = {1993},
	month = {1993/02//},
	pages = {120 - 138},
	abstract = {The introduction of powerful workstations connected through local area networks (LANs) inspired new database management system (DBMS) architectures that offer high performance characteristics. The authors examine three such software architecture configurations: client-server (CS), the RAD-UNIFY type of DBMS (RU), and enhanced client-server (ECS). Their specific functional components and design rationales are discussed. Three simulation models are used to provide a performance comparison under different job workloads. Simulation results show that the RU almost always performs slightly better than the CS, especially under light workloads, and that ECS offers significant performance improvement over both CS and RU. Under reasonable update rates, the ECS over CS (or RU) performance ratio is almost proportional to the number of participating clients (for less than 32 clients). The authors also examine the impact of certain key parameters on the performance of the three architectures and show that ECS is more scalable that the other two},
	keywords = {client-server, Computational modeling, Computer architecture, database management systems, DBMS architectures, design rationales, functional components, Indexes, Local area networks, Military computing, Packaging, Performance analysis, performance evaluation, RAD-UNIFY type, simulation models, simulation results, Software architecture, software architecture configurations, software engineering, Throughput, Workstations},
	isbn = {0098-5589},
	doi = {10.1109/32.214830},
	author = {Delis,A. and Roussopoulos, Nick}
}
